BAB II LANDASAN TEORI Dalam bab ini akan menjelaskan pengertian sebuah sistem pakar, komponen sistem pakar, komponen dasar sistem pakar, basis data dan aplikasi yang digunakan dalam menyusun skripsi ini.
2.1 KONSEP DASAR SISTEM PAKAR Sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain, yang berfungsi bersama-sama untuk mencapai tujuan tertentu. Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen, atau variabel-variabel yang terorganisasi, saling berinteraksi, saling tergantung satu sama lain dan terpadu. Sistem bisa berupa abstraksi atau fisis (Gordon B. Davis, 2002). Sistem yang abstrak adalah susunan yang teratur dari gagasan-gagasan atau konsepsi yang saling tergantung. Sedangkan sistem yang bersifat fisis adalah serangkaian unsur yang bekerjasama untuk mencapai suatu tujuan (Tata Sutabri, 2004). Dari definisi di atas maka dapat diketahui manfaat sistem yaitu untuk menyatukan atau mengintegrasikan semua unsur yang ada dalam suatu ruang lingkup, dimana komponen-komponen tersebut tidak dapat berdiri sendiri. Komponen atau sub sistem harus saling berintegrasi dan saling berhubungan untuk membentuk satu kesatuan sehingga sasaran dan tujuan dari sistem tersebut
10
11
dapat tercapai. Pendekatan sistem yang merupakan kumpulan dari komponen atau elemen-elemen merupakan definisi yang lebih luas dibandingkan dengan pendekatan sistem yang prosedural. Definisi lain dari sistem adalah kumpulan dari bagian-bagian yang bekerja sama untuk mencapai tujuan yang sama atau sekumpulan objek-objek yang saling berelasi dan berinteraksi (Hanif Al Fata, 2007).
2.1.1 PENGERTIAN SISTEM PAKAR Sistem pakar adalah sistem informasi yang berisi dengan pengetahuan dari pakar sehingga dapat digunakan untuk konsultasi. Pengetahuan dari pakar di dalam sistem ini digunakan sebagi dasar oleh Sistem Pakar untuk menjawab pertanyaan (konsultasi)
2.1.2
KOMPONEN SISTEM PAKAR
Komponen sistem pakar terbagi menjadi empat bagian, yaitu:
1. Knowledge Base (Basis Pengetahuan)Knowledge Base merupakan inti dari program sistem pakar karena basis pengetahuan itu merupakan presentasi pengetahuan atau knowledge representation basis pengetahuan adalah sebuah basis data pengetahuan ini terdiri dari kumpulan objek beserta aturan dan atributnya (sifat atau cirinya).Contoh : If hewan merupakan sayap dan bertelur then hewan jenis burung.
12
2. Working Memory (Basis Data atau Memori Kerja)Working memory adalah bagian yang mengandung semua fakta-fakta baik fakta awal pada saat sistem beroperasi maupun fakta-fakta pada saat pengambilan klesimpulan sedang dilaksanakan selama sistem pakar beroperasi basis data berada di adalam memori kerja.
3. Inference Engine (Mesin Inferensia)
Inference Engine adalah bagian yang menyediakan mekanisme fungsi berfikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini akan menganalisa masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik.Mesin ini akan dimulai pelacakannya dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data.
2.1.3
DEFINISI KOMPONEN SISTEM PAKAR
Sistem pakar atau Expert System biasa disebut dengan “knowledge- based system” adalah program penasehat berbasis komputer yang mencoba meniru proses berpikir dan pengetahuan dari seorang pakar dalam menyelesaikan masalah-masalah spesifik. Sistem ini bekerja dengan menggunakan pengetahuan (knowledge) dan metode analisis yang telah didefinisikan terlebih dahulu oleh pakar yang sesuai dengan bidang keahliannya. Sistem ini disebut sistem pakar karena fungsi dan perannya sama seperti seorang ahli yang harus memiliki pengetahuan, pengalaman dalam
13
memecahkan suatu persoalan. Sistem biasanya berfungsi sebagai kunci penting yang akan membantu suatu sistem pendukung keputusan atau sistem pendukung eksekutif. Sistem pakar terdiri dari dua komponen utama yaitu: basis pengetahuan (knowledge base) dan alat pengambilan kesimpulan (inference engine). Biasa pengetahuan didapat dari akumulasi pengetahuan pakar pada bidang tertentu. Pengetahuan didefinisikan sebagai kumpulan data dan himpunan aturan untuk memanipulasi atau mengolah data untuk menjadi pengetahuan baru. Basis pengetahuan merupakan komponen penting dari suatu sistem pakar, besar kecilnya kemampuan sistem pakar biasanya ditentukan oleh kapasitas dari basis pengetahuannya, sedangkan mesin pengambil keputusan adalah aplikasi yang membantu dan memandu pengguna sistem pakar dalam memanipulasi data dan memilih pengetahuan yang sesuai untuk mendapatkan kesimpulan.
2.1.4 CIRI CIRI SISTEM PAKAR Ciri-ciri sistem pakar adalah sebagai berikut:
1. Terbatas pada domain keahlian tertentu. 2. Dapat memberikan penalaran untuk data data yang tidak pasti. 3. Dapat mengemukan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami. 4. Berdasarkan pada kaidah/Rule tertentu.
14
5. Dirancang untuk dapat dikembangkan secara bertahap. 6. Keluaranya bersifat anjuran.
2.1.5
TUJUAN SISTEM PAKAR
Tujuan dari sistem pakar adalah untuk memindahkan kemampuan (transferring expertise) dari seorang ahli atau sumber keahlian yang lain ke dalam komputer dan kemudian memindahkannya dari komputer kepada pemakai yang tidak ahli (bukan pakar). Proses ini meliputi empat aktivitas yaitu: 1. Akuisi pengetahuan (knowledge acquisition) yaitu kegiatan mencari dan mengumpulkan pengetahuan dari para ahli atau sumber keahlian yang lain. 2. Representasi pengetahuan (knowledge representation) adalah kegiatan menyimpan dan mengatur
penyimpanan pengetahuan yang diperoleh kedalam
komputer. Pengetahuan berupa fakta dan aturan disimpan dalam komputer sebagai sebuah komponen yang disebut basis pengetahuan. 3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan melakukan inferensi berdasarkan pengetahuan yang telah disimpan didalam komputer. 4. Pemindahan pengetahuan (knowledge transfer) adalah kegiatan pemindahan pengetahuan dari komputer ke pemakai yang tidak ahli.
Menurut H.A.Simon Kecerdasan buatan (artificial intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan hal yang dalam pandangan manusia adalah cerdas.
15
Menurut Rich and knight Kecerdasan buatan (artificial intelligence) merupakan sebuah studi tentang bagaimana membuat komputer melakukan halhal yang pada saat ini dapat dilakukan lebih baik oleh manusia. Kecerdasan buatan dilihat dari berbagai sudut pandang adalah sebagai berikut : a. Sudut pandang Kecerdasan (Intelligence) Kecerdasan buatan adalah bagaimana membuat mesin yang “cerdas” dan dapat melakukan hal-hal yang sebelumnya dapat dilakukan oleh manusia. b. Sudut pandang Penelitian Studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dilakukan oleh manusia. c. Sudut pandang Bisnis Kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah-masalah bisnis. d. Sudut pandang Pemrograman (Programming) Kecerdasan buatan termasuk didalamnya adalah studi tentang pemrograman simbolik, pemecahan masalah, proses pencarian (search).
2.1.6
KELEBIHAN SISTEM PAKAR
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli. 2. Bisa melakukan proses secara berulang secara otomatis.
16
3. Menyimpan pengetahuan dan keahlian para pakar. 4. Meningkatkan output dan produktivitas. 5. Meningkatkan kualitas. 6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka). 7. Mampu beroperasi dalam lingkungan yang berbahaya. 8. Memiliki kemampuan untuk mengakses pengetahuan. 9. Memiliki reabilitas 10. Meningkatkan kapabilitas sistem komputer. 11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. 12. Sebagai media pelengkap dalam pelatihan. 13. Meningkatkan kapabilitas dalam penyelesaian masalah. 14. Menghemat waktu dalam pengambilan keputusan
2.1.7
KEKURANGAN SISTEM PAKAR
Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain :
1
Biaya yang diperlukan untuk membuat dan memeliharanya relatif mahal karena diperlukan banyak data.
2
Perlu admin khusus yang selalu update informasi dalam bidang yang sesuai dengan sistem pakar.
17
3
Pengembangan perangkat lunak sistem pakar lebih sulit dibandingkan perangkat lunak konvensional.
4
Susah di kembangkan.
5
Membutuhkan waktu yang lama.
2.1.8
STRUKTUR SISTEM PAKAR
Sistem pakar disusun oleh duan bagian utama yaitu lingkungan pengembangan
(development
environment)
dan
lingkungan
konsultasi
(consultation environment) (Turban, 1995). Lingkungan pengembangan system pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan system pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen system pakar dalam
kedua
bagian
tersebut
dapat
dilihat
pada
Gambar 2.1 Struktur Sistem Pakar
gambar
berikut
:
18
Komponen yang terdapat dalam system pakar dapat dilihat pada gambar diatas. Berikut akan dijelaskan komponen tersebut.
Antarmuka Pengguna (User Interface)
User interface merupakan mekanisme yang digunakan oleh pengguna dan system pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh system. Selain itu antarmuka menerima informasi dari system akan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai. Menurut McLeod (1995), pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan system pakar menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai.
2.1.9
MESIN INTERFENSI
1. Basis Pengetahuan (knowledge base) Merupakan komponen
yang
mengandung pengetahuan – pengetahuan dari seorang pakar, yang berisi sekumpulan fakta dan aturan. 2. Mesin Inferensi (inference engine) Meupakan Komponen yang menjadi otak system pakar. Mesin Inferensi berfungsi melakukan penalaran dan pengambilan kesimpulan.
19
3. Fasilitas Penjelas merupakan komponen yang berfungsi untuk memberikan penjelasan kepada pengguna yang memintanya. 4. Antarmuka Pemakai merupakan bagian tampilan yang menghubungkan antara system dan pengguna sehingga pengguna dapat berkomunikasi dengan system.
Gambar 2.2 Mesin Interfensi sistem Pakar
2.2 METODE FORWARD CHAINING Metode Forward Chaining adalah metode pencarian atau teknik pelacakan ke depan yang dimulai dengan informasi yang ada dan penggabungan rule untuk menghasilkan suatu kesimpulan atau tujuan. (Russel S,Norvig P, 2003). Pelacakan maju ini sangat baik jika bekerja dengan permasalahan yang dimulai dengan rekaman informasi awal dan ingin dicapai penyelesaian akhir, karena seluruh proses akan dikerjakan secara berurutan maju. Berikut adalah diagram Forward Chaining secara umum untuk menghasilkan sebuah goal. Forward chaining merupakan metode inferensi
20
yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining. Tipe sistem yang dapat dicari dengan Forward Chaining : 1.
Sistem yang dipersentasikan dengan satu atau beberapa kondisi.
2.
Untuk setiap kondisi, sistem mecari rule-rule dalam knowledge base
untuk rule-rule yang berkorespondensi dengan kondisi dalam bagian IF 3.
Setiap rule dapat menghasilkan kondisi baru dari konklusi yang diminta
pada bagian THEN. Kondisi baru ini ditambahkan ke kondisi lain yang sudah ada. 4.
Setiap kondisi yang ditambahkan ke sistem akan diproses. Jika ditemui
suatu kondisi baru dari konklusi yang diminta, sistem akan kembali ke langkah 2 dan mencari rule-rule dalam knowledge base kembali. Jika tidak ada konklusi baru, sesi ini berakhir. Contoh : Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu : R1 : if A and B then C R2 : if C then D R3 : if A and E then F R4 : if A then G
21
R5 : if F and G then D R6 : if G and E then H R7 : if C and H then I R8 : if I and A then J R9 : if G then J R10 : if J then K Fakta awal yang diberikan hanya A dan E, ingin membuktikan apakah K bernilai benar. Proses penalaran forward chaining terlihat pada gambar dibawah
:
Gambar 2.3 Forward Chaining (forward chaining) dipengaruhi oleh tiga macam teknik penelusuran (searching) yaitu:
1. Teknik Depth-First Search Adalah teknik penelusuran data pada node-node secara vertical dan sudah terdefinisi, misalnya kiri ke kanan, keuntungan pencarian dengan teknik ini adalah
22
bahwa penelurusan masalah dapat di gali secara mendalam sampai di temukannya kapasitas suatu solusi yang optimal. Kekurangan teknik penelesuran ini adalah membutuhkan waktu yang sangat lama untuk ruang lingkup masalah yang besar.
Gambar 2.4 Teknik Depth-First Search
2. Teknik Breadth-First Search Adalah teknik penelusuran data pada semua node dalam satu level atau salah satu tingkatan sebelum ke level atau tingkatan di bawahnya. Keuntungan pencarian daengan teknik ini adalah sama dengan depth first search, hanya saja penelusuran dengan tehnik ini mempunyai nilai tambah, dimana semua node akan di cek secara menyeluruh pada setiap tingkatan node. Kekurangan teknik penelusuran ini terletak pada waktu yang dibutuhkan yang sangat lama apabila solusi berada dalam posisi node terakhir sehingga menjadi tidak efisien. Kekurangan dalam implementasi juga perlu di pertimbangkan, misalnya teknik penelusuran menjadi tidak interaktif antara suatu topik dengan topik yang lain
23
atau harus melompat dari satu topik ke topik yang lain sebelum topik tersebut selesai di telusuri.
Gambar 2.5 Teknik Breadth-First Search
3. Teknik Best-First Search Adalah teknik penelusuran yang menggunakan pengetahuan akan suatu masalah untuk melakukan panduan pencarian ke arah node tempat dimana solusi berada. Pencarian jenis ini dikenal juga sebagai heuristic. Pendekatan yang dilakukan adalah mencari solusi yang terbaik berdasarkan pengetahuan yang dimiliki sehingga penelusuran dapat ditentukan harus di mulai dari mana dan bagaimana menggunakan proses terbaik untuk mencari solusi. Keuntungan jenis pencarian ini adalah mengurangi beban komputasi karena hanya solusi yang memberikan harapan saja yang diuji dan akan berhenti apabila solusi sudah mendekati yang terbaik. Ini merupakan model yang menyerupai cara manusia mengambil solusi yang dihasilkan merupakan solusi yang mutlak benar
24
Gambar 2.6 Teknik Best-First Search
2.3 PERANGKAT LUNAK YANG DIGUNAKAN 2.3.1. MICROSOFT VISUAL BASIC 2008 Microsoft Visual Basic atau dikenal dengan VB, merupakan salah satu perangkat lunak software) yang digunakan untuk pengembangan software (software development), dimana dengannya kita dapat membuat aplikasi-aplikasi sederhana bahkan profesional. Versi terbaru dari Microsoft Visual Basic adalah Visual Basic 9 atau disebut juga Visual Basic 2008. Pada versi terbaru ini kita dihadapkan pada tampilan grafis dan lingkungan IDE (Integrated Development Environment) yang sangat berbeda dari versi sebelumnya.
25
Gambar 2.7 Visual Basic 2008
2.3.2 MICROSOFT ACCESS 2007 Microsoft Access adalah suatu program aplikasi basis data komputer relasional yang digunakan untuk merancang, membuat dan mengolah berbagai jenis data dengan kapasitas yang besar.Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Versi terakhir adalah Microsoft Office Access 2007 yang termasuk ke dalam Microsoft Office System 2007. Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer
yang
mahir
dapat
menggunakannya
untuk
mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik
26
pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat
bantu
pemrograman
berorientasi
objek.
Komponen Utama (Object)
Gambar 2.8 Microsoft Access 2007 1. Table Table adalah objek utama dalam database yang digunakan untuk menyimpan sekumpulan data sejenis dalam sebuah objek. Table terdiri atas : 1. Field Name : atribut dari sebuah table yang menempati bagian kolom. 2. Record : Isi dari field atau atribut yang saling berhubungan yang menempati bagian baris. 2. Query ( SQL / Structured Query Language ) Query adalah bahasa untuk melakukan manipulasi terhadap database. Digunakan untuk menampilkan, mengubah, dan menganalisa sekumpulan data. Query dibedakan menjadi 2, yaitu :
27
1. DDL (Data Definition Language) digunakan untuk membuat atau mendefinisikan obyek-obyek database seperti membuat tabel, relasi antar tabel dan sebagainya. 2. DML (Data Manipulation Language) digunakan untuk manipulasi database, seperti : menambah, mengubah atau menghapus data serta mengambil informasi yang diperlukan dari database. 3. Form Form
digunakan
untuk
mengontrol
proses
masukan
data
(input),
menampilkan data (output), memeriksa dan memperbaharui data. 4. Report Form digunakan untuk menampilkan data yang sudah dirangkum dan mencetak data secara efektif. 3. Tipe Data Field - field dalam sebuah tabel harus ditentukan tipe datanya. Ada beberapa tipe data dalam Access, yaitu : 1. Text Text digunakan untuk field alfanumeric (misal : nama, alamat, kode pos, telp), sekitar 255 karakter tiap fieldnya. 2. Memo Memo dapat menampung 64000 karakter untuk tiap fieldnya, tapi tidak bisa diurutkan/diindeks.
28
3. Number Number digunakan untuk menyimpan data numeric yang akan digunakan untuk proses perhitungan matematis. 4. Date/Time 5. Currency 6. Auto Number 7. Yes/No 8. OLE Object OLE Object digunakan untuk eksternal objek, seperti bitmap atau file suara. 9. Hyperlink 10. Lookup Wizard Jika menggunakan tipe data ini untuk sebuah field, maka bisa memilih sebuah nilai dari tabel lain atau dari sebuah daftar nilai yang ditampilkan dalam combo box. 4. Membuat Database (New Project) dengan Microsoft Access Langkah – langkah untuk membuka Microsoft Access dan membuat database : 1. Click Start ->All Program -> Microsoft Office ->Microsoft Access 2. Kemudian akan tampil jendela Microsoft Access,lalu click Blank Database untuk membuat database. 3.Ketik nama database yang Anda inginkan kemudian click tombol create. 5. Membuat Table Langkah – langkah untuk membuat tabel :
29
1. Click tab Create pada jendela 2. Click Table Design pada ribbon Tables 3. Masukkan nama field beserta tipe datanya, kemudian simpan tabel (Ctrl+S). 4. Kemudian click ribbon View pada tab Home, lalu pilih Datasheet View untuk masukkan data ke dalam tabel. 6. Table Relationship Table Relationship adalah relasi atau hubungan antara beberapa tabel. Relasi antar tabel dihubungkan oleh primary key dan foreign key. Untuk membuat relationship maka masing-masing tabel harus memiliki primary key dan foreign key untuk dapat menghubungkan antara tabel induk dengan tabel anak. Sehingga diperlukan teknik normalisasi terlebih dahulu sebelum membuat relationship antar tabel. Normalisasi merupakan proses pengelompokkan data elemen menjadi tabel yang menunjukkan entitas dan relasinya. a. Primary Key Tabel memiliki primary key, yaitu suatu atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian tetapi juga mewakili setiap kejadian dari suatu entitas. b. Foreign Key Foreign key adalah atribut yang melengkapi relationship dan menunjukkan hubungan antara tabel induk dengan tabel anak. Foreign key ditempatkan pada tabel anak.