BAB II TINJAUAN PUSTAKA
II.1
Sistem Menurut Tata Sutabri (2005:8) sistem dapat diartikan sebagai sekelompok
unsur yang erat hubunganya satu dengan yang lain, yang berfungsi bersama-sama untuk mencapai tujuan tertentu. Menurut Gordon B. Davis sistem bisa berupa abstrak dan fisis. Sistem yang abstrak adalah susunan yang teratur dari gagasan-gagasan atau konsepsi yang saling bergantung. Sedangkan sistem yang bersifat fisis adalah serangkaian unsur yang bekerja sama unutk mencapai suatu tujuan (Tata Sutabri, 2005:9). Jadi dari beberapa pengertian sistem diatas, penulis dapat menyimpulkan bahwa sistem adalah gabungan unsur-unsur yang saling terkait dan bekerja sama untuk mencapai suatu tujuan.
II.2
Sistem Pakar 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. Berikut ini beberapa pengertian sistem pakar (sutojo, 2011:160). 1. Menurut Turban (2001, p402) sistem pakar adalah sebuah sistem yang menggunakan
pengetahuan
manusia
dimana
pengetahuan
tersebut
dimasukkan ke dalam sebuah komputer dan kemudian digunakan untuk
7
8
menyelesaikan masalah-masalah yang biasanya membutuhkan kepakaran atau keahlian manusia. 2. Menurut Jackson (1999, p3) sistem pakar adalah program komputer yang mempresentasikan dan melakukan penalaran dalam pengetahuan beberapa pakar untuk memecahkan masalah atau memberikan saran (sutojo, 2011:160).
II.2.1 Keuntungan Sistem pakar Sistem pakar menjadi sangat populer karena sangat banyak kemampuan dan mamfaat yang diberikanya, antara lain : 1. Meningkatkan produktivitas, karena sistem pakar dapat bekerja dengan lebih cepat dari pada manusia. 2. Membuat seorang yang awam, bekerja seperti layaknya seorang pakar. 3. Meningkatkan kualitas, dengan memberikan nasihat yang konsisten dan mengurangi kesalahan. 4. Mampu menangkap pengetahuan dan kepakaran dari seseorang. 5. Dapat beroperasi di lingkungan yang berbahaya. 6. Memudahkan akses pengetahuan seorang pakar. 7. Andal, sistem pakar tidak pernah menjadi bosan dan kelelahan atau sakit. 8. Meningkatkan kapabilitas sistem komputer. 9. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. 10. Dapat digunakan sebagai media pelengkap dalam pelatihan. 11. Meningkatkan kemampuan untuk menyelesaikan masalah karena sistem pakar mengambil sumber pengetahuan dari banyak pakar (sutojo, 2011:160)
9
II.2.2 Kelemahan Sistem pakar Secara garis besar banyak kelemahan dari sistem pakar, antara lain : 1. Biaya yang diperlukan untuk membuat, memelihara, dan mengembangkannya sangat mahal. 2. Sulit dikembangkan, hal ini erat kaitannya dengan ketersediaan pakar di bidangnya. 3. Sistem pakar tidak 100% benar karena seseorang yang terlibat dalam pembuatan sistem pakar tidak selalu benar (sutojo, 2011:161)
II.2.3 Ciri – ciri Sistem Pakar Adapun ciri-ciri sistem pakar adalah sebagai berikut : 1. Terbatas pada domain keahlian tertentu. 2. Dapat memberikan penalaran untuk data-data yang tidak lengkap atau tidak pasti. 3. Dapat menjelaskan alasan-alasan yang diberikanya dengan cara yang dapat dipahami. 4. Bekerja berdasarkan kaidah / rule tertetu. 5. Mudah dimodifikasi. 6. Basis pengetahuan dan mekanisme inferensi terpisah. 7. Keluaranya bersifat anjuran. 8. Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pengguna (sutojo, 2011:162).
10
II.2.4 Struktur Sistem pakar Ada dua bagian penting dari sistem pakar yaitu lingkungan pengembangan (development
environment)
dan
lingkungan
konsultasi
(consultation
environment). Lingkungan pengembangan digunakan oleh pembuat sistem pakar untuk membangun komponen-komponenya dan memperkenalkan pengetahuan ke dalam basis pengetahuan. Lingkungan konsultasi digunakan oleh pengguna untuk berkonsultasi, sehingga pengguna mendapatkan pengetahuan dan nasihat dari sistem pakar layaknya berkonsultasi dengan seorang pakar. Gambar II.1 menunjukkan komponen-komponen yang penting dalam sebuah sistem pakar. Lingkungan Konsultasi User
Lingkungan Pengembangan
Fakta-fakta tentang kejadian khusus
Fasilitas Penjelasan
Antarmuka
Aksi yang direkomendasi
Basis Pengetahuan Fakta : Apa yang diketahui tentang area domain. Aturan : Logical reference
Motor inferensi
BLACKBOARD Rencana Solusi
Rekayasa Pengetahuan * Interpreter * Scheduler * Consistency Enforcer
Penambahan Pengetahuan Pengetahuan ahli
Penyaring Pengetahuan
Agenda Deskripsi
Gambar II.1 Struktur Sistem Pakar Sumber : Sutojo (2011:167) Berikut adalah penjelasan dari masing-masing komponen struktur sistem pakar diatas : 1. Basis pengetahuan. Bagan ini berisikan pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah. Ada dua bentuk pendekatan basis pengetahuan yang sangat sering digunakan yaitu :
11
a. Penalaran
berbasis
aturan,
pengetahuan
direpresentasikan
dengan
menggunakan aturan berbentuk : IF-THEN. b. Penalaran berbasis kasus (Case-Based-Reasoning) Pada penalaran berbasis aturan, basis pengetahuan akan berisi solusisolusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). 2. Motor inferensi (Inferensi Engine). Bagian ini merupakan program yang berisi metodologi yang dugunakan untuk melakukan penalaran terhadap informasi-informasi dalam basis pengetahuan dan blackboard, serta digunakan untuk menformulasikan konklusi. Ada tiga elemen utama dalam motor inferensi yaitu : a. Interpreter
: mengeksekusi item-item agenda yang terpilih dengan
menggunakan aturan-aturan dalam basis pengetahuan yang sesuai. b. Scheduler : yang berfungsi untuk mengontrol agenda. c. Consistency
enforcer
:
memelihara
kekonsistenan
dalam
mempresentasikan solusi yang bersifat darurat. 3. Blackboard : merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada tiga keputusan yang dapat direkam yaitu : a. Rencana : bagaimana menghadapi masalah-masalah. b. Agenda : aksi-aksi yang potensial yang sedang menuggu untuk dieksekusi. c. Calon aksi yang akan dibangun.
12
4. Antar muka pengguna (User Interface) merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi dengan pengguna. 5. Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan. 6. Subsistem penambah pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan itu biasanya berasal dari ahli, buku, basisdata, penelitian dan gambar. 7. Sistem penyaring pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan-pengetahuan yang masih ada yang digunakan masa yang akan datang (Sutojo, 2011:167).
II.3.
Kecerdasan Buatan Kecerdasan buatan berasal dari bahasa inggris “Artificial Intelligence”
atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berfikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia (sutojo, 2011:1). Menurut Herbert Alexsander Simon (2001) kecerdasan buatan (Artificial Intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait
13
dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas. Sementara menurut Rich dan Knigth [1991] kecerdasan buatan (AI) sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. Menurut Winston dan Prendergast (1984) ada tiga tujuan keceradasan buatan yaitu : 1. Membuat mesin menjadi lebih pintar (tujuan utama). 2. Memahami apa itu kecerdasan (tujuan ilmiah). 3. Membuat mesin lebih bermamfaat (tujuan entrepreneurial).
II.3.1 Konsep Dasar Kecerdasan Buatan Ada beberapa konsep yang harus dipahami dalam kecerdasan buatan, antara lain : 1. Turing Test (Metode Pengujian Kecerdasan) Turing test merupakan sebuah metode pengujian kecerdasan yang dibuat oleh Alan Turing. Proses ini melibatkan seorang penanya (manusia) dan dua objek yang ditanyai. 2. Pemrosesan Simbolik Komputer semula di desain untuk memproses bilangan / angka-angka (pemrosesan numerik). Sementara manusia berpikir dan menyelesaikan masalah lebih bersifat simbolik, tidak didasarkan pada sejumlah rumus atau melakukan komputasi matematis.
14
3. Heuristik Istilah heuristik diambil dari bahasa yunani yang berarti menemukan, heuristic merupakan suatu strategi untuk melakukan proses pencarian ruang problem secara selektif. 4. Penarikan Kesimpulan AI (Artificial Intelligence) mencoba membuat mesin memilki kemampuan berpikir (reasoning) termasuk di dalamya proses penarikan kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan-aturan dengan menggunakan metode heuristic atau metode pencarian lainya. 5. Pencocokan Pola (Pattern Matching) AI (Artificial Intelligence) bekerja dengan metode pencocokan pola (pattern matchin) yang berusaha untuk menjelaskan objek, kejadian (events) atau proses, dalam hubungan logika atau komputasional (Sutojo, 2011:2).
II.3.2 Perbedaan Kecerdasan Buatan Dengan Kecerdasan Alami Menurut Turban keuntungan kecerdasan buatan dibandingkan dengan kecerdasan alami adalah : 1. Kecerdasan buatan lebih bersifat parmanen. 2. Kecerdasan buatan lebih mudah diduplikasikan dan disebarkan. 3. Kecerdasan buatan lebih murah dibandingkan kecerdasan alami. 4. Kecerdasan buatan bersifat konsisten. 5. Kecerdasan buatan dapat di dokumentasi.
15
6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami. 7. Kecerdasan buatan dapat mengerjakan dengan lebih baik dibanding dengan kecerdasan alami (Sutojo, 2011:3).. Sedangkan keuntungan kecerdasan alami di banding kecerdasan buatan adalah (turban): 1. Kreatif 2. Kecerdasan alami memungkinkan orang menggunakan pengalaman secara langsung. 3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas (Sutojo, 2011:3)..
II.3.3 Representasi Pengetahuan (Knowledge Representation) Representasi pengetahuan (knowledge representation) adalah cara untuk menyajikan pengetahuan yang diperoleh ke dalam suatu skema / diagram tertentu sehingga dapat diketahui relasi antara suatu pengetahuan dengan pengetahuan yang lain dan dapat dipakai untuk menguji kebenaran penalaranya (sutojo, 2011:124). Banyak cara untuk mempresentasikan pengetahuan (fakta), namun semua cara tersebut harus mengacu pada dua entitas berikut : 1. Fakta, yaitu kejadian sebenarnya. Fakta inilah yang akan di representasikan. 2. Representasi dari fakta, berdasarkan representasi inilah fakta-fakta dapat diolah (sutojo, 2011:124).
16
II.3.4 Teknik Inferensi Forward Chaining Pada sistem pakar berbasis rule, domain pengetahuan direpresentasikan dalam
sebuah
kumpulan
rule
berbentuk
IF-THEN,
sedangkan
data
direpresentasikan dalam sebuah kumpulan fakta-fakta tentang kejadian saat ini (sutojo, 2011:170). Forward Chaining adalah teknik pencarian yang dimulai dengan faktafakta yang diketahui, kemudian mencocokkan fakta-fakta tersebut dengan bagian IF dari rules IF-THEN. Untuk memahami cara kerja forward chaining, dapat dilihat dibawah ini dengan menggunakan 5 rule sebagi berikut : R1 : IF (Y AND D) THEN Z R2 : IF (X AND B AND E) THEN Y R3 : IF A THEN X R4 : IF C THEN L R5 : IF (L AND M) THEN N, (sutojo, 2011:171).
II.4
Pemodelan UML (Unified Modelling Language) Pemodelan (modelling) sesungguhnya digunakan untuk penyerderhanaan
permasalahan. Adapun tujuan pemodelan (dalam kerangka pengembangan sistem / perangkat lunak aplikasi) adalah sebagai sarana visualisasi dan komunikasi antar anggota tim pengembang sebagai sarana dokumentasi (bermamfaat untuk menguji sistem yang telah selesai dikembangkan) (Adi Nugroho, 2009:5).
17
II.4.1. Diagram Usecase Sebuah sistem / perangkat lunak pada umumnya dikembangkan berdasarkan analisis kebutuhan (Requirements Analysis). Analisis kebutuhan ini adalah tahap konseptualisasi, yaitu suatu tahap yang mengharuskan analisis dan perancang sistem untuk berusaha secara pasti mengenai hal-hal yang menjadi kebutuhan dan harapan pengguna sehingga kelak aplikasi yang di buat memang akan digunakan oleh pengguna serta akan memuaskan kebutuhan dan harapanya (Adi Nugroho, 2009:6). Ketika
mengembangkan use case diagram, hal yang pertama kali di
lakukan adalah mengenali actor untuk sistem / aplikasi yang sedang dikembangkan. Dalam hal ini, ada beberapa actor yaitu : 1. Actor ada di luar sistem yang sedang dikembangkan. 2. Actor berinteraksi dengan sistem yang sedang dikembangkan (Adi Nugroho, 2009:7). Gambar II.2 berikut menjelaskan aktor dengan aktifitasnya (diagram activity). Sistem UseCase
Actor
Gambar II.2 Usecase Diagram Sumber: Adi Nugroho (2005:8)
18
II.4.2. Diagram Activity Activity Diagram adalah teknik untuk mendiskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Adapun simbol activity diagram dapat dilihat pada table II.1 : Tabel II.1. Simbol Activity Diagram Notasi
Keterangan Titik Awal Titik Akhir Activity Pilihan untuk pengambilan keputusan Fork digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu Rake menunjukkan adanya dekomposisi Tanda waktu Tanda pengiriman Tanda penerimaan Aliran Akhir (Flow Final)
Sumber : Adi Nugroho(2009:10)
19
II.4.3. Diagram Kelas Kelas (class) didefenisikan sebagai kumpulan atau himpunan objek yang memiliki kesamaan dalam atribut / properti, perilaku (operasi), serta cara berhubungan dengan objek lain (Adi Nogroho,2009:18). Langkah utama dari perancangan basis data berdasarkan logika adalah mentransformasikan UML, yaitu diagram kelas, ke relasi-relasi yang normal. Ada tiga langkah pada proses ini yaitu : 1. Mentransformasikan UML ke relasi-relasi yang berkaitan. 2. Melakukan normalisasi relasi-relasi / tabel-tabel. 3. Menggabungkan relasi / tabel (Adi Nugroho,2009:42).
II.5
Pengenalan Macromedia Dreamweaver 8 Dreamweaver adalah software aplikasi desain web visual yang biasa
dikenal dengan istilah WYSIWYG “What You See Is What You Get” intinya tidak harus berurusan dengan tag-tag HTML untuk membuat sebuah situs. Macromedia belum lama ini telah mengeluarkan rilis terbaru dari Dreamweaver yaitu Dreamweaver 8, dengan penambahan beberapa fasilitas baru di dalamnya. Dreamweaver 8 tidak hanya dapat digunakan oleh para desainer web, namun juga dapat digunakan oleh programer untuk membangun halaman internaktif karena Dreamweaver 8 mendukung PHP, ColdFusion, ASP.NET dan lain-lain (Abdul Khadir;2008:2).
20
II.5.2. Komponen – Komponen Macromedia Dreamweaver 8 Adapun
komponen-komponen
yang
terdapat
pada
Macromedia
Dreamweaver 8 adalah sebagai berikut : 1. Document Window, berfungsi untuk menampilkan dokumen dimana kita sedang bekerja. 2. Insert Bar, berisi tombol – tombol untuk menyisipkan berbagai macam objek seperti image, tabel, dan layer ke dalam dokumen. 3. Document Toolbar,
berisi tombol
– tombol dan menu pop-up yang
menyediakan tampilan berbeda dari Document window. 4. Panel Groups,
adalah kumpulan panel yang saling berkaitan satu sama
lainnya yang dikelompokkan di bawah satu judul. 5. Tag Selector, berfungsi untuk menampilkan hierarki tag di sekitar pilihan yang aktif pada Design view. 6. Property Inspector, digunakan untuk mengatur file - file dan folder -folder yang membentuk situs Web (Abdul Khadir, 2008:4).
II.6
Pengenalan MySQL MySQL adalah sebuah program database server yang mampu menerima
dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standart SQL (Structured Query Language) (Bunafit Nugroho, 2005:1). Adapun kelebihan MySQL adalah sebagai berikut : 1. MySQL sebagai Database Management System (DBMS). 2. MySQL sebagai Relation Database Management System (RDBMS).
21
3. MySQL adalah sebuah software database yang OpenSource, artinya program ini bersifat gratis. 4. MySQL merupakan sebuah database server. 5. MySQL merupakan sebuah database client. 6. MySQL mampu menerima query yang bertumpuk dalam satu permintaan. 7. MySQL merupakan sebuah database yang mampu menyimpan data berkapasitas yang sangat besar. 8. MySQL di dukung oleh driver ODBC. 9. MySQL adalah database menggunakan enkripsi password. 10. MySQL merupakan server database yang multi user (Bunafit Nugroho, 2005:3).
II.7
Pengenalan PHP Untuk membuat website yang dinamis dan mudah di update setiap saat
dari browser, dibutuhkan sebuah program yang mampu mengolah data dari komputer client atau dari komputer server itu sendiri sehingga mudah dan nyaman disajikan di browser (Madcoms;2004:1). PHP adalah bahasa pemrograman script yang paling banyak di pakai saat ini. PHP banyak di pakai untuk memprogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Sejarah PHP di mulai pada Tahun 1995, ketika Rasmus Lerdorf seseorang software development contractor mengembangkan script Perl / CGI mengetahui jumlah pembaca online resume-nya. Pada waktu itu PHP bernama FI (Form Interpreted). Pada saat
22
tersebut PHP adalah sekumpulan script yang digunakan untuk mengolah data form dari web (Madcoms, 2004:1). Kelebihan PHP dari bahasa pemrograman lain : 1. PHP memiliki tingkat akses yang lebih cepat. 2. PHP memiliki tingkat lifecycle yang cepat sehingga selalu mengikuti perkembangan teknologi internet. 3. PHP memiliki tingkat keamanan yang tinggi. 4. PHP mampu berjalan di berbarapa server yang ada. 5. PHP mampu berjalan di linux sebagai platform sistem operasi utama bagi PHP. 6. PHP juga mendukung akses ke beberapa database yang sudah ada (Madcoms, 2004:2).