BAB II

advertisement
System Pakar ( Expert System )
A. Pengertian
Prof. Edward Feighenbaum dari Universitas Stanford yang merupakan
seorang pelopor dari teknologi System Pakar,
mendefinisikan system Pakar
sebagai “… Suatu program Komputer cerdas yang menggunakan Knowledge (
pengetahuan ) dan prosedur Inferensi untuk menyelesaikan masalah yang cukup
sulit sekalipun sehingga membutuhkan seorang yang benar benar ahli untuk
menyelesaikannya”. ( Feighenbaum; 1982 ).
Ada beberapa definisi kecerdasan buatan, yaitu.
1. Kecerdasan buatan adalah cabang ilmu Komputer yang berhubungan dengan
studi dan kreasi system Komputer yang mempertunjukan beberapa bentuk
kecerdasan.
2. Suatu system Komputer yang menyamai ( Emulates ) kemampuan
pengambilan keputusan dari seorang Pakar
3. System yang dapat menjadikan Komputer dapat berakting dan bergaya seperti
halnya para artis berakting di bioskop
4. System yang mempelajari konsep konsep baru dan tugas tugas
5. System yang dapat berfikir dan menarik kesimpulan yang berguna bagi dunia
disekitar kita.
6. System yang dapat mengerti bahasa dan memahami pemandangan Visual
6
Menurut Aristotle pemahaman tentang pikiran merupakan dasar dari
pengetahuan. Hal ini dihubungkan dengan logika berfikir yang menjadi cikal
bakal adanya kecerdasan buatan. Menurutnya, suatu hal dapat dikatakan benar
karena hal tersebut terhubung dengan pada hal lain yang diketahui benar.
Misalnya. semua Manusia dapat mati. Socrates adalah Manusia. Maka Socrates
dapat mati. Contoh ini menggambarkan pemahaman Aristotle yang disebut
Sylogisme dan menggunakan bentuk modus Ponen.
Langkah pertama dalam menyelesaikan setiap masalah adalah dengan
mendefinisikan terlebih dahulu ruang lingkup permasalahan tersebut atau Domain
untuk permasalahan yang akan diselesaikan. “ Merupakan bagian dari masalah
jika masalah yang ada belum dapat diselesaikan “ . Dan untuk saat ini sudah
banyak permasalahan didunia yang dapat diselesaikan dengan menggunakan AI.
Banyak Aplikasi AI yang dikomersialkan, karena AI dapat berfungsi dengan
sangat baik dalam batasan Domainnya.
Vision
Bahasa
Alami
Robotic
Under
standing
Speech
System
Cerdas
tiruan
System
Pakar
7
Gambar 2.1. Ruang lingkup AI ( kecerdasan buatan )
System Pakar adalah salah satu cabang dari AI yang membuat secara
luas penggunaan Knowledge yang khusus untuk penyelesaian masalah tingkat
manusia yang Pakar ( ahli ). Saat sekarang ini System Pakar telah banyak
diaplikasikan dalam berbagai bidang yang trend, seperti. untuk kepentingan
Bisnis, Kedokteran, Ilmu pengetahuan, Teknik, dan lain lain. Hasil tersebut dapat
diketemukan dengan mudah didalam buku buku, journal, konferensi – konferensi,
dan produksi yang berkenaan dengan system Pakar. Teknolologi system Pakar ini
meliputi bahasa, program, dan perangkat keras ( Hardware ) yang dirancang
khusus untuk membantu pengembangan system Pakar.
Knowledge dalam system Pakar mungkin saja seorang ahli, atau
Knowledge yang umumnya terdapat dalam buku, majalah dan orang yang
mempunyai pengetahuan tentang suatu bidang. Penggunaan system Knowledge
(basis Pengetahuan) juga dirancang untuk aksi pemandu cerdas seorang ahli
(system Pakar).
Berikut ini adalah gambaran dari konsep dasar suatu system pakar Knowledge–
base. Pengguna menyampaikan fakta atau informasi untuk system Pakar dan
kemudian menerima saran dan jawaban dari Pakar ( ahlinya ). Bagian dalam
system Pakar terdiri dari 2 komponen utama, yaitu Knowledge base yang berisi
Knowledge dan Mesin Inferensi yang menggambarkan kesimpulan. Kesimpulan
tersebut merupakan respons dari system Pakar atas permintaan pengguna.
KNOWLEDGE - BASE
MESIN INFERENSI
8
USER
FAKTA
KEAHLIAN
SYSTEM PAKAR
Gambar 2. 2. Konsep dasar fungsi System Pakar
Knowledge dari System Pakar tentang penyelesaian masalah yang
khusus disebut dengan Domain Knowledge dari suatu Pakar. Sebagai contoh.
System Pakar yang dirancang untuk mendiagnosis Infeksi akan mempunyai suatu
uraian Knowledge ( pengetahuan ) tentang gejala gejala penyakit yang disebabkan
oleh infeksi penyakit. Dalam kasus ini Domain Knowledge – nya adalah bidang
Kedokteran yang terdiri dari Knowledge tentang penyakit, gejala, dan cara
pengobatan.
Domain
Masalah
Domain
Pengetahuan
Gambar 2. 3 . Hubungan antara Domain Knowledge dan Domain Masalah
System Pakar sebagai teknologi yang baru masih menyimpan Hal – hal
baru yang dapat dipelajari. Tabel 2.3 meringkaskan gambaran perbedaan orang
orang yang terlibat didalam suatu teknologi. Pada tabel ini technologist mungkin
seorang Insinyur atau perancang perangkat lunak/keras, sementara teknologi
mungkin berupa perangkat lunak ( Software ) atau Perangkat keras ( Hardware ).
Dalam menyelesaikan suatu permasalahan, ada beberapa pertanyaan yang perlu
untuk dijawab atau teknologi tidak akan berhasil digunakan. Seperti juga tool
9
lainnya, System Pakar juga mempunyai Aplikasi yang sesuai dan juga tidak sesuai
untuk digunakan.
Orang
Pertanyaan
Manager
Apa yang dapat saya gunakan
Technologist
Bagaimana saya mengimplementasikannya
Peneliti
Bagaimana saya dapat mengembangkannya
Bagaimana ini akan membantu
Pelanggan /
Pemakai
Apakah cukup baik dalam menangani masalah dan hemat
biaya
Bagaimana kehandalannya
Tabel 2. 1. Perbedaan orang orang yang terlibat dalam Teknologi
Seorang Pakar dengan System Pakar mempunyai banyak perbedaan.
Darkin ( 1994 ) mengemukakan perbandingan kemampuan antara seorang Pakar
dengan sebuah System Pakar seperti pada tabel 2b berikut ini.
Faktor
Human Expert
Expert System
Time Availibility
Hari Kerja
Setiap Saat
Geografis
Lokal/tertentu
Dimana saja
Keamanan
Tidak Tergantikan
Dapat diganti
Perishable/dapat habis
Ya
Tidak
Performansi
Variable
Konsisten
Kecepatan
Variable
Konsisten
10
Biaya
Tinggi
Terjangkau
Tabel 2.2. Perbandingan kemampuan seorang Pakar dengan System Pakar
Dari tabel diatas dapat dikembangkan penjelasan lebih lanjut tentang
keunggulan System Pakar dibandingkan dengan System Pakar, yaitu.
1. System Pakar bisa digunakan setiap hari menyerupai sebuah mesin
sedangkan seorang Pakar tidak mungkin bekerja terus menerus setiap hari
tanpa istirahat.
2. System Pakar merupakan suatu Software yang dapat diperbanyak dan
kemudian didapat ditransferkan ke berbagai lokasi maupun tempat yang
berbeda beda untuk tempat yang berbeda beda untuk digunakan,
sedangkan seorang Pakar hanya bekerja pada satu tempat dan pada saat
yang bersamaan.
3. Suatu System Pakar dapat diberi pengamanan untuk menentukan siapa
saja yang mempunyai hak akses untuk menggunakannya dan jawaban
yang diberikan oleh System terbebas dari proses intimidasi / ancaman ,
sedangkan seorang Pakar bisa saja mendapat mendapat ancaman atau
tekanan pada saat menyelesaikan permasalahan.
4. Pengetahuan ( Knowledge ) yang disimpan pada System Pakar tidak akan
bisa hilang / lupa, yang dalam hal ini tentu harus didukung oleh
Maintenance yang baik, sedangkan pengetahuan seorang Pakar Manusia
lambat laun akan hilang karena meninggal, usia yang semakin tua, maupun
menderita suatu penyakit. Walaupun pengetahuan yang dimilikinya dalam
11
waktu yang singkat tidak akan hilang, akan tetapi bisa saja seorang Pakar
mengundurkan diri dari pekerjaannya, pindah tugas atau dipecat dari
pekerjaannya
sehingga
organisasi
yang
mempekerjakannya
akan
kehilangan seorang Pakar yang berbakat.
5. Kemampuan memecahkan suatu masalah pada suatu System Pakar tidak
dipengaruhi oleh faktor dari luar seperti intimidasi, perasaan kejiwaan,
faktor ekonomi, atau perasaan tidak suka. Akan tetapi sebaliknya dengan
seorang Pakar yang dapat dipengaruhi oleh faktor faktor luar seperti yang
disebutkan diatas ketika sedang menyelesaikan atau memecahkan suatu
masalah, sehingga dapat memunculkan jawaban yang berbeda beda atas
pertanyaan yang diajukan walaupun masalah yang diajukan sama. atau
dengan kata lain, seorang Pakar boleh jadi tidak konsisten.
6. Umumnya kecepatan dalam memecahkan masalah pada suatu System
Pakar relatif lebih cepat dibandingkan oleh seorang pakar manusia. Hal ini
sudah dibuktikan pada beberapa System Pakar yang terkenal didunia.
7. Biaya menggaji seorang Pakar lebih mahal bila dibandingkan dengan
penggunaan program System Pakar ( dengan Asumsi bahwa Program
System Pakar sudah ada ).
Ada beberapa alasan mendasar mengapa System Pakar dikembangkan
untuk menggantikan seorang Pakar, diantaranya.
¾ Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi
12
¾ Secara otomatis mengerjakan tugas tugas rutin yang membutuhkan seorang
Pakar
¾ Seorang Pakar akan pensiun atau pergi.
¾ Seorang Pakar sangatlah mahal
¾ Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (Hostile
Environtment ).
Perbandingan System Konvensional dan System Pakar adalah.
System Konvensional
System Pakar
Informasi dan pemrosesan umumnya digabung dalam Basis Pengetahuan dari mekanisme pemrosesan
satu Program sekuensial
(Inferensi)
Program tidak pernah salah ( kecuali
Program bisa saja melakukan kesalahan
pemrogramannya yang salah )
Tidak menjelaskan mengapa Input dibutuhkan atau
Penjelasan ( explanation ) merupakan bagian dari
bagaimana hasil yang diperoleh
System Pakar
Tidak harus membutuhkan semua input data atau
Membutuhkan semua Input data
fakta
Perubahan pada kaidah dapat dilakukan dengan
Perubahan pada program merepotkan
mudah
System dapat bekerja meskipun hanya dengan
System bekerja jika sudah lengkap
kaidah yang sedikit
Eksekusi secara Algoritmik ( Step by Step )
Eksekusi dilakukan secara Heuristic dan logis
Manipulasi efektif pada basis pengetahuan yang
Manipulasi efektif pada Database yang besar
besar
Efisiensi adalah tujuan utama
Efektifitas adalah tujuan utama
Data kuantitatif
Data Kualitatif
13
Representasi dalam Numerik
Representasi pengetahuan dalam simbolik
Menangkap, menambah, dan mendistribusi data
Menangkap, menambah, dan mendistribusikan
numerik atau informasi
pertimbangan (Judgment) dan Pengetahuan
Tabel 2. 3. Perbandingan System Konvensional dan System Pakar
B. Tujuan.
Tujuan dari sebuah System Pakar adalah untuk memindahkan kepakaran
yang dimiliki oleh seorang Pakar atau sumber informasi ( Buku, Majalah, surat
kabar, dll. ) kedalam Komputer, dan selanjutnya untuk ditransfer kepada orang
lain ( non – Expert ). Aktivitas yang dilakukan untuk memindahkan kepakaran
adalah.
1. Knowledge Acquisition ( dari Pakar atau sumber lainnya )
2. Knowledge Representation ( kedalam Komputer )
3. Knowledge Inferencing
4. Knowledge Transfering
2.1.2.
Sejarah Perkembangan
Sebagai Ilmu bidang Komputer, kecerdasan buatan sebenarnya sudah
mulai diselediki pada tahun 1930. Waktu tersebut merupakan saat terpenting dan
banyak Cendekiawan mengembangkan ide ide baru mengenai Komputasi. Logika
matematika selanjutnya menjadi bidang aktif dari penyelidikan kecerdasan buatan,
karena System logika deduktif telah berhasil diimplementasikan dalam program
program komputer.
14
Seorang ahli Matematika bernama Alan Turing yang memiliki sumbangan
besar dalam pengembangan teori kemampuan perhitungan ( Computability ),
bergumul dengan pertanyaan apakah sebuah mesin dapat berfikir atau tidak. Uji
yang dilakukan oleh Alan Turing adalah dengan mengukur Kinerja (Performance)
Mesin cerdas. Uji Turing menjadi dasar bagi banyak strategi yang digunakan
dengan menilai program program kecerdasan buatan. Meskipun istilah AI masih
belum begitu populer.
Kemudian pada tahun 1956, sekelompok Pakar Komputer berkumpul di
Darmouth College yang dimotori oleh John McCarthy untuk membahas potensi
Komputer dalam meniru atau atau mensimulasikan kepandaian Manusia. Pada
kesempatan tersebut, para peneliti dari berbagai disiplin Ilmu dan dari berbagai
Universitas, Industri, dan berbagai kalangan lainnya, bertemu untuk membahas
karya mereka dan saling bertukar pikiran.
Komputer yang pertama kali
menggunakan basis AI yang dikembangkan adalah dikenal dengan nama Logic
Theorist yang dapat melakukan penalaran terbatas untuk teorema Kalkulus. Sejak
saat itulah para peneliti termotivasi untuk terus mengembangkan program lain,
seperti General Problem Solver ( GPS ). Program ini bertujuan untuk
memecahkan berbagai permasalahan. Setelah GPS, ternyata AI juga banyak
dikembangkan dalam bidang permainan atau game, misalnya. Program permainan
Catur oleh Shannon ( 1955 ), Pengecekan Masalah Oleh Samuel ( 1963 ).Teori
Logika secara Konseptual oleh Newell dan Simon ( 1972 ).Buchanan dan
Feigenbaum juga mengembangkan bahasa pemrograman DENDRAL pada tahun
15
1978 yang digunakan untuk badan antariksa Amerika Serikat ( NASA ), dan
digunakan untuk penelitian kimia diplanet Mars. sebelum adanya DENDRAL,
sebenarnya pada tahun 1976 program System Pakar sudah dikembangkan secara
modern, yaitu MYCIN yang dibuat oleh Shortliffe dengan bahasa pemrograman
LISP. Program MYCIN mampu menyimpan + 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 metode
Certanty factor, teori probabilitas, dan teorema Fuzzy. dan masih banyak lagi
pengembangan dari System Pakar.
Dewasa ini program MYCIN menjadi acuan penting untuk pengembangan
System Pakar secara Modern karena didalamnya sudah terintegrasi semua
komponen standart yang dibutuhkan oleh System Pakar itu sendiri.
2.1.3. Keuntungan System Pakar
System Pakar ( Expert System ) merupakan paket perangkat lunak atau
paket program komputer yang ditujukan sebagai penyedia nasehat dan sarana
bantu dalam memecahkan masalah dibidang bidang spesialisasi tertentu seperti.
Sains, Perekayasaan, Matematika, Kedokteran, Pendidikan dan sebagainya.
System Pakar merupakan subset dari Artificial Intelegence.
Ada beberapa keunggulan System Pakar, diantaranya dapat.
a. Menghimpun data dalam jumlah yang sangat besar
16
b. Menyimpan data tersebut dalam jangka waktu yang panjang dalam suatu
bentuk tertentu.
c. Mengerjakan Perhitungan secara cepat dan tepat dan tanpa bosan mencari
kembali data yang tersimpan dengan kecepatan yang tinggi
Sementara kemampuan System Pakar diantaranya adalah.
9 Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya
9 Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang
digunakan untuk sampai ke jawaban yang dikehendaki
9 Menambah Fakta kaidah dan alur penalaran sahih yang baru kedalam
otaknya
Selanjutnya ada banyak keuntungan bila menggunakan System Pakar,
diantaranya adalah.
1. Menjadikan pengetahuan dan nasehat lebih mudah didapat
2. Meningkatkan output dan produktivitas
3. Menyimpan kemampuan dan keahlian Pakar
4. Meningkatkan penyelesaian masalah – meneruskan panduan Pakar,
penerangan, System Pakar khas
5. Meningkatkan reliabilitas
6. Memberikan respon ( jawaban ) yang cepat
7. Merupakan panduan yang cerdas
8. Dapat bekerja dengan informasi yang kurang lengkap dan mengandung
ketidakpastian sekalipun
17
9. Intelligence Database ( Basis Data yang cerdas ), bahwa System Pakar
dapat digunakan untuk mengakses basis data dengan cara yang cerdas (
Kerschberg . 86; Schur . 88 )
Selain keuntungan keuntungan diatas, System Pakar seperti halnya System
System yang lainnya juga memiliki kelemahan, diantaranya adalah.
¾ Masalah dalam mendapatkan pengetahuan dimana pengetahuan tidak
selalu bisa didapatkan dengan mudah, kadangkala Pakar dari masalah yang
kita buat tidak ada ( belum ada ). Kalaupun ada, kadang kadang
pendekatan yang dimiliki oleh Pakar berbeda beda
¾ Untuk membuat suatu System Pakar yang benar benar berkwalitas tinggi
sangatlah sulit dan memerlukan biaya yang sangat besar untuk
pengembangan dan pemeliharaannya
¾ Boleh jadi System tidak dapat membuat keputusan
Kelemahan kelemahan ( kekurangan ) tersebut bukan berarti tidak bisa
diatasi, akan tetapi dengan terus menerus melakukan perbaikan dan pengolahan
berdasarkan pengalaman yang telah ada, maka hal itu diyakini akan bisa diatasi,
walaupun dalam waktu yang panjang dan terus menerus. Dalam hal ini faktor
Manusia tetap merupakan faktor penentu keberhasilan System Pakar yang sangat
Dominan.
System Pakar ini telah dibuat untuk memecahkan berbagai macam
permasalahan dalam segala bidang, seperti Matematika, Teknik, Kedokteran,
18
kimia, Farmasi, sains Komputer, Bisnis, Hukum, pendidiklan sampai pertahanan.
Secara umum ada beberapa kategori dan area permasalahan System Pakar, yaitu.
1. Interprestasi, yaitu pengambilan keputusan atau Deskripsi tingkat tinggi
dari sekumpulan data mentah, termasuk diantaranya juga pengawasan,
pengenalan ucapan, analisis citra, Interprestasi sinyal, dan beberapa
analisis kecerdasan ( melalui pemahaman ).
2. Proyeksi, yaitu memprediksi akibat akibat yang dimungkinkan dari situasi
situasi tertentu, diantaranya. peramalan, prediksi demografis, peramalan
ekonomi, predikasi lalulintas, estimasi hasil, militer, pemasaran, atau
peramalan keuangan.
3. Diagnosis, yaitu menentukan sebab multifungsi dalam situasi komplek
yang didasarkan pada gejala gejala yang teramati, diantaranya. Medis,
Elektronis, Mekanis, dan diagnosis perangkat lunak.
4. Desain, yaitu
menentukan konfiguraasi komponen komponen System
yang cocok dengan tujuan tujuan kinerja tertentu yang memenuhi kendala
kendala
tertentu,
diantaranya.
Layout
sirkuit
dan
perencanaan
pembangunan.
5. Perencanaan, yaitu merencanakan serangkaian tindakan yang akan dapat
mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya.
perencanaan kondisi keuangan, komunikasi, militer, pengembangan
produk, routing, dan managemen proyek.
19
6. Monitoring, yaitu membandingkan tingkah laku suatu System yang
teramati dengan tingkah laku yang diharapkan darinya, diantaranya.
Computer Aided Monitoring System.
7. Debugging and Repair, yaitu menentukan dan mengimplementasikan
cara cara untuk mengatasi malfungsi, diantaranya. memberikan resep obat
terhadap ssuatu kegagalan.
8. Instruksi, yaitu mendeteksi dan mengoreksi, defisiensi dalam pemahaman
domain subyek, diantaranya. melakukan instruksi untuk diagnosis,
Debugging and Repair suatu kinerja.
9. Pengendalian, yaitu mengatur tingkah laku suatu Environtment yang
komplek seperti. kontrol terhadap Interprestasi interprestasi, prediksi,
perbaikan dan monitoring kelakuan System.
10. Seleksi, mengidentifikasikan pilihan terbaik dari sekumpulan ( list )
kemungkinan.
11. Simulasi, pemodelan interaksi antara komponen komponen System
Bahasa pemrograman juga turut menentukan pengembangan System Pakar
dibidang bidang yang disebutkan diatas. Pada tahun 1970-an dimana System
operasi masih berbasis teks, pengembangan System Pakar hanya memanfaatkan
bahasa pemrograman seperti Prolog, LISP, atau Shell sehingga pengembangan
System Pakar pada waktu itu masih sangat sulit. Faktor kesulitan tersebut juga
dipengaruhi oleh kecepatan processor dan memori yang masih terbatas sehingga
System Pakar hanya dapat dikembangkan pada Komputer komputer Workstation.
20
Berbeda dengan perkembangan Komputer pada tahun tahun awal AI
berkembang dan mulai dikenal oleh banyak kalangan ( 1978 ). Dewasa ini
Komputer telah memiliki kecepatan Giga Hertz dan didukung oleh perkembangan
perangkat keras maupun perangkat lunak yang canggih.
Perkembangan yang sangat menarik adalah perkembangan pemrograman
Visual berorientasi obyek yang mampu mengolah Database dalam jumlah data
yang sangat besar. Perkembangan perangkat lunak ini tentunya sangat membantu
pengembangan secara luas terhadap System System berbasis keceerdasan buatan,
termasuk System Pakar.
2.1.4. Konsep Umum System Pakar
2.1.5.
Pengetahuan
dari
suatu
System
Pakar
mungkin
saja
dapat
direpresentasikan dalam sejumlah cara. Salah satu metode yang paling umum
untuk mempresentasikan pengetahuan adalah dalam bentuk tipe aturan ( rule )
IF….THEN….. ( jika…..maka….. ). Walaupun cara diatas sangat sederhana,
namun banyak hal yang berarti dalam membangun System Pakar dengan
mengekspresikan pengetahuan Pakar dalam bentuk aturan diatas.
Turban ( 1995 ) menyatakan bahwa konsep dasar dari suatu System Pakar
mengandung beberapa unsur / elemen, yaitu keahlian, ahli, pengalihan keahlian,
Inferensi, Aturan, dan kemampuan untuk menjelaskan. Keahlian merupakan suatu
penguasaan pengetahuan dibidang tertentu yang didapatkan dari pelatihan,
21
membaca atau pengalaman. Contoh bentuk pengetahuan yang merupakan keahlian
adalah.
∼ Fakta fakta pada lingkup permasalahan tertentu
∼ Teori pada lingkup permasalahan tertentu
∼ Prosedur prosedur dan aturan aturan berkenaan dengan lingkup
permasalahan tertentu
∼ Strategi strategi global untuk menyelesaikan masalah
∼ Meta Knowledge ( pengetahuan tentang pengetahuan )
22
suatu tanggapan, mempelajari hal hal baru seputar topik permasalahan ( Domain ),
menyusun kembali pengetahuan jika dipandang
perlu, memilah aturan jika
dibutuhkan, dan menentukan relevan atau tidaknya keahlian mereka.
Pengalihan keahlian dari para ahli untuk kemudian dialihkan lagi keorang
lain yang bukan ahli, merupakan tujuan utama dari System Pakar. Proses ini
membutuhkan 4 aktifitas, yaitu tambahan pengetahuan
( dari para ahli atau
sumber sumber lainnya ), Representasi pengetahuan ( ke Komputer ), Inferensi
pengetahuan dan pengalihan pengetahuan ke pengguna. Pengetahuan yang
disimpan di Komputer dinamakan dengan basis pengetahuan ( Knowledgebase ).
Ada dua tipe pengetahuan, yaitu. fakta dan Prosedur
Salah satu Fitur yang harus dimiliki oleh System Pakar adalah kemampuan
untuk menalar ( Reasoning ). Jika keahlian keahlian sudah tersimpan sebagai basis
pengetahuan dan sudah tersedia program yang mampu mengakses basis data,
maka Komputer harus dapat diprogram untuk membuat Inferensi ( Inference
Engine ).
2.1.6. Bagan System Pakar
23
System Pakar disusun oleh dua bagian utama, yaitu. Lingkungan
Pengembangan ( Development Environment ), dan lingkungan konsultasi
(Consultation Environment), ( Turban . 1995 ). Lingkungan pengembangan
System Pakar digunakan untuk memasukan pengetahuan Pakar kedalam
lingkungan System Pakar, sedangkan lingkungan konsultasi digunakan oleh
pengguna yang bukan Pakar, guna memperoleh pengetahuan Pakar. Komponen
komponen System Pakar dalam kedua bagian tersebut dapat dilihat dalam gambar
2. 4. berikut ini.
Lingkungan Konsultasi
Lingkungan Pengembangan
Pakar
Pemakai
Konsultasi dan
pertimbangan
Akuisisi /
Transfer
Fasilitas
Penjelasan
Knowledge
Engineer
Fakta dan
Query
User Interface
(Antarmuka Pemakai)
Aksi yang
direkomendasikan
Basis
Pengetahuan dan
basis aturan
Mesin
Inferensi
Fakta dan
aturan
Perbaikan
Pengetahuan
Workplace
Gambar 2. 4. Struktur Bagan System Pakar
Kelima Komponen penting pada gambar adalah Akuisisi Pengetahuan,
Basis Pengetahuan dan Basis Aturan, Mekanisme Inferensi, Fasilitas Penjelasan
System, dan Antarmuka pemakai ( User Interface ) yang merupakan satu kesatuan
yang tidak dapat dipisahkan. Sedangkan Fasilitas belajar sendiri merupakan
24
komponen yang mendukung System Pakar sebagai suatu kecerdasan buatan tindak
lanjut.
Apabila diperhatikan dengan seksama gambar komponen System Pakar
diatas, sebenarnya dapat disimpulkan bahwa ada 3 unsur yang paling penting dari
pengembangan System Pakar ( Turban; 1995 ), yaitu. adanya Pakar, System dan
Pemakai. ketiga unsur tersebut dapat diketahui pada penjelasan berikut ini.
1. Pakar
Pakar adalah orang yang memiliki pengetahuan khusus, pendapat,
pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya
tersebut guna menyelesaikan masalah.
2. Knowledge Engineer ( perekayasaan System )
Knowledge Engineer adalah orang yang membantu pakar dalam
menyususn
area
permasalahan
dengan
menginterprestasikan
dan
mengintegrasikan jawaban jawaban Pakar atas pertanyaan yang diajukan,
menggambarkan Analogi, mengajukan Counter example dan menerangkan
kesulitan kesulitan konseptual.
3. Pemakai
System Pakar mamiliki beberapa pemakai, yaitu. pemakai bukan Pakar,
pelajar dan pembangun System Pakar yang ingin meningkatkan dan menambah
basis pengetahuan dan Pakar .
2.1.6.1. Penjelasan Struktur Bagan
1. Fasilitas Akuisisi Pengetahuan
25
Fasilitas ini merupakan suatu proses untuk mengumpulkan data data
pengetahuan akan suatu masalah dari Pakar. Bahan pengetahuan dapat ditempuh
dengan beberapa cara, misalnya. mendapatkan pengetahuan dari buku, jurnal
ilmiah, para Pakar dibidangnya, laporan, literatur, dan seterusnya. Sumber
pengetahuan tersebut dijadikan dokumentasi untuk dipelajari, diolah dan
diorganisasikan secara terstruktur menjadi basis pengetahuan.
Sumber Pengetahuan tersebut harus dapat diperoleh dengan kemampuan
untuk mengolah data data tersebut menjadi solusi yang efisien, komunikasi yang
baik,dan kerjasama tim yang solid. Karena itu semua kemampuan itu dapat
menjadi hal yang mutlak diperlukan oleh seorang pengembang System.
Contoh akuisisi pengetahuan adalah diagnosis kerusakan mesin sepeda
motor 4 tak yang dimulai dengan mengumpulkan data tentang macam macam
kerusakan, penyebab kerusakan / ciri ciri kerusakan, solusi kerusakan, dll. Data
tentang kerusakan mesin ini dapat diperoleh langsung dari Pakar dibidangnya
ataupun dari buku buku yang ada dipasaran.
2. Basis Pengetahuan dan Basis Aturan
Setelah proses Akuisisi pengetahuan selesai dilakukan, maka pengatahuan
tersebut harus direpresentasikan menjadi basis pengetahuan dan basis aturan yang
kemudian dikumpulkan, dikode-kan diorganisasikan dan digambarkan dalam
bentuk rancangan lain menjadi bentuk yang Systematis.
Ada beberapa cara merepresentasikan data menjadi basis pengetahuan,
seperti yang dikemukakan oleh Barr dan Feighenbaum pada tahun 1981, yaitu
26
data dalam bentuk atribut, aturan aturan, jaringan semantik, frame, dan logika.
Semua bentuk representasi data tersebut bertujuan untuk menyederhanakan data
sehingga mudah dimengerti dan mengefektifkan proses pengembangan program.
Dalam pemrograman non Visual, basis aturan sering diimplementasikan
dalam teknik IF….THEN… Teknik demikian memerlukan aturan yang sangat
banyak dan sulit untuk dikembangkan karena bersifat statis. Apabila ditemukan
pengetahuan pengetahuan baru yang harus diinputkan atau diedit, maka
keseluruhan listing program harus diubah dan memerlukan banyak waktu untuk
menelusuri kembali listing per listing. Untuk memecahkan masalah masalah yang
tidak fleksibel maka pemrograman Visual yang umumnya menyediakan sarana
untuk mengembangkan tabel tabel penyimpanan data yang terangkum dalam
sebuah Database. Tujuan penyimpanan data dalam bentuk tabel tabel tersebut
sebenarnya untuk memudahkan proses mekanisme Inferensi dalam penelusuran
dan manipulasi data.
Ada banyak teknik dalam merancang Database, tetapi umumnya yang
paling banyak digunakan adalah teknik normalisasi dan Model Data Logika (
MDL ). Teknik normaisasi banyak digunakan untuk merancang Database
sedehana sedangkan MDL digunakan untuk merancang Data berskala besar.
Umumnya para programmer lebih suka menggunakan teknik normalisasi karena
lebih sederhana bila dibandingkan dengan MDL yang memerlukan banyak aturan
dan langkah langkah penyelesaian kasus.
3. Mekanisme Inferensi
27
Mekanisme Inferensi adalah bagian dari System Pakar yang melakukan
penalaran dengan menggunakan isi daftar aturan berdasarkan urutan dan pola
tertentu. Selama proses konsultasi antar System pamakai, mekanisme Inferensi
menguji aturan satu demi satu sampai kondisi aturan itu benar.
Secara umum ada dua teknik utama yang digunakan dalam mekanisme
Inferensi untuk pengujian aturan, yaitu penalaran maju ( Forward Reasoning ) dan
penalaran mundur ( Referse Reasoning ).
Dalam penalaran maju aturan aturan diuji satu demi satu dalam urutan
tertentu. Urutan itu mungkin berupa urutan pemasukan aturan kedalam basis
aturan atau juga urutan lain yang ditetukan oleh pemakai. Saat tiap aturan diuji,
System Pakar akan mengevaluasi apakah kondisinya benar atau salah. Jika
kondisinya benar, maka aturan itu disimpan kemudian aturan berikutnya diuji.
Proses ini akan berulang ( Iterative ) sampai seluruh basis aturan teruji dengan
berbagai kondisi
Informasi
Cek dalam
Basis Aturan
Cek Aturan
berikutnya
Benar
Simpan Aturan
tersebut
Benar
Cek
28apakah
ada aturan
yang sesuai
Salah
Cari aturan
berikutnya
Gambar 2. 5. Forward Reasoning (Penalaran Maju)
Sebagai contoh Penalaran maju adalah mengecek kerusakan mesin
kendaraan bermotor akan dimulai dengan macam macam kusakaan mesin yang
akan ditelusuri kemudian dilanjutkan dengan jenis jenis kerusakan yang dipilih,
dan seterusnya sampai pada diagnosis kerusakan dan dan hasil akhir kesimpulan
kerusakan tersebut.
Penalaran maju seperti yang digambarkan diatas sangat baik jika bekerja
dengan permasalahan yang dimulai dengan rekaman informasi awal dan ingin
dicapai penyelesaian akhir, maka seluruh proses dikerjakan secara berurutan maju.
Tetapi dalam masalah masalah yang lain penalaran bisa saja dimulai dari hasil
akhir yang berupa suatu Hipotesis dan akan dicari pembuktiannya. Kasus
semacam ini harus diselesaikan dengan penalaran mundur.
Selain teknik penalaran, diperlukan juga teknik penelusuran data dalam
bentuk network atau jaringan yang terdiri atas node node berbentuk tree ( pohon ).
Ada tiga teknik yang digunakan dalam proses penelusuran data, yaitu Depth First
search, Breadth First Search, danBest First Search.
29
Depth First Search adalah teknik penelusuran data pada node node secara
vertikal dan sudah terdefinisikan, misalnya dari kiri kekanan ( lihat diagram ).
Keuntungan dari teknik ini adalah bahwa penelusuran masalah dapat digali secara
mendalam sampai ditemukannya kepastian suatu solusi yang optimal. kekurangan
dari teknik ini adalah membutuhkan waktu yang sangat lama untuk ruang lingkup
masalah yang besar.
Gambar 2. 6. Penelusuran data dengan Depht First Search
Breadth First Search adalah teknik penelusuran data pada semua node
dalam satu level atau satu tingkatan sebelum ke level atau tingkatan dibawahnya
(lihat diagram). Keuntungan pencarian dengan tingkatan ini adalah sama dengan
depth First Search, hanya saja penelusuran dengan teknik ini mempunyai nilai
tambah, dimana semua node akan dicek secara menyeluruh pada setiap tingkatan
node. Kekurangan dalam teknik ini terletak pada waktu yang dibutuhkan sangat
lama apabila solusi berada dalam posisi node terakhir sehingga menjadi tidak
efisien. Kekurangan dalam Implementasi juga perlu dipertimbangkan., Misalnya
teknik penelusuran menjadi tidak interaktif antara pemakai dan System karena
menyebabkan tidak adanya relasi antara satu topik ke topik yang lain sebelum
teknik tersebut selesai ditelusuri.
30
Kedua teknik penelusuran pada pembahasan diatas merupakan teknik
dasar penelusuran dalam ruang lingkup masalah yang luas tanpa menggunakan
pengetahuan sehingga boleh dikatakan bahwa teknik penelusuran tersebut adalah
teknik penelusuran buta ( Blind ). Ada Alternatif lain penelusuran data selain
kedua penelusuran tersebut, yaitu Best First Search.
Gambar 2.7. Penelusuran data dengan Breadth First Search
Penelusuran Best First Search adalah penelusuran yang menggunakan
pengetahuan akan suatu masalah untuk dijadikan panduan pencarian kearah 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 dimulai
dari mana dan bagaimana menggunakan proses terbaik untuk mencari solusi.
Keuntungan jenis penelusuran ini adalah adalah mengurangi beban komputasi
karena hanya solusi yang memberikan harapan saja yang diuji dan metode
pencarian akan terhenti apabila solusi sudah mendekati yang terbaik. Ini
merupakan model yang menyerupai cara Manusia dalam mengambil solusi, hanya
31
saja solusi yang diambil bisa saja salah dan tidak ada jaminan bahwa solusi yang
dihasilkan merupakan solusi yang mutlak benar.
4. Fasilitas Penjelasan System
Fasilitas Penjelasan System merupakan bagian dari System Pakar yang
memberikan penjelasan tentang bagaimana program dijalankan, apa yang harus
dijelaskan kepada pemakai tentang suatu masalah, memberikan rekomendasi
kepada pemakai, mengakomodasi kesalahan pemakai dan menjelaskan bagaimana
suatu masalah terjadi.
Fasilitas penjelasan System harus mampu menjelaskan bagaimana harus
memeriksa komponen ( bagian ) yang diuji
System, sehingga pemakai dapat
mengerti dengan jelas apa yang harus dilakukannya.
Dalam
System
Pakar,
fasilitas
penjelasan
System
sebaliknya
diintegrasikan kedalam tabel basis pengetahuandan basis aturan karena hal ini
akan lebih memudahkan perancangan System.
5. Antar Muka Pemakai ( User Interface )
Antar muka pemakai memberikan fasilitas komunikasi antara pemakai dan
System, memberikan berbagai fasilitas informasi dan dan berbagai keterangan
yang bertujuan untuk membantu mengarahkan alur penelusuran masalah sampai
ditemukan solusi.
Pada umumnya, antar muka pemakai juga berfungsi untuk menginputkan
pengetahuan baru kedalam basis pengetahuan System Pakar menampilkan fasilitas
penjelasan System dan memberikan tuntunan penggunaan System secara
32
menyeluruh langkah demi langkah sehingga pemakai mengerti apa yang harus
dilakukan terhadap System.
Syarat utama membangun antar muka pemakai adalah kemudahan dalam
menjalankan System. Semua kesulitan dalam membangun suatu program harus
disembunyikan, yang ditampilkan hanyalah tampilan yang interaktif, komunikatif
dan kemudahan pakai.
2.1.7. Tahapan Pengembangan System Pakar
Terdapat 6 tahap atau fase dalam pengambangan System Pakar seperti
digambarkan pada gambar 2.8. Penjelasan berikut merupakan penjelasan System
secara garis besar tentang fase fase pengembangan tersebut.
1. Identifikasi
Tahap ini merupakan tahap penentuan hal hal penting sebagai dasar dari
permasalahan yang akan dianalisis. Tahap ini merupakan tahap untuk mengkaji
dan mambatasi masalah yang akan diimplementasikan dalam System. Setiap
masalah yang diidentifikasikan harus dicari solusi, fasilitas yang akan
dikembangkan, penentuan jenis bahasa pemrograman dan tujuan yang ingin
dicapai dari proses pengembangan tersebut. Apabila proses identifikasi masalah
dilakukan dengan benar maka akan dicapai hasil yang optimal.
2. Konseptualisasi
Hasil identifikasi masalah dikonseptualisasikan dalam bentuk relasi antar
data, hubungan antar pengetahuan dan konsep konsep penting dan ideal yang akan
33
diterapkan dalam System. Konseptualisasi juga menganalisis data data penting
yang harus didalami bersama dengan Pakar dibidang 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.
3. Formalisasi
Apabila tahap Konseptualisasi telah dilakukan, maka ditahap Formalisasi
konsep konsep tersebut diimplementasikan secara formal, misalnya memberikan
kategori System yang akan dibangun, mempertimbangkan beberapa faktor
pengambilan keputusan seperti keahlian manusia, 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 modul modul. Untuk memudahkan maka harus
diidentifikasikan.
9 Apa saja yang menjadi Input
9 Bagaimana prosesnya digambarkan dalam bagan/alur dan basis aturannya
9 Apasaja yang menjadi output atau hasil dan kesimpulannya
Sesudah itu semuanya diubah dalam bahasa yang mudah dimengerti oleh
Komputer
dengan
menggunakan
tahapan
pengembangan System Pakar.
34
fase
seperti
gambaran
fase
5. Evaluasi
System Pakar yang selesai dibangun, perlu untuk dievaluasi untuk menguji
dan menemukan kesalahannya. Hal ini merupakan hal yang umum dilakukan
karena suatu System belum tentu sempurna setelah selesai pembuatannya
sehingga proses evaluasi diperlukan untuk penyempurnaannya. dalam Evaluasi
akan ditemukan bagian bagian yang harus dikoreksi untuk menyamakan
permasalahan dan tujuan akhir pembuatan System.
~ Definisi Masalah
Fase I
Inisialisasi Kasus
~ Kebutuhan System
~ Evaluasi Solusi Alternatif
~ Verifikasi Pendekatan System
~ Konseptualisasi rancangan dan Desain
~ Strategi Pengembangan
Fase II
Analilsis dan Desain System
~ Materi Pengetahuan
~ Komputasi Materi
~ Kemudahan Pengenalan
~ Analisa Efisiensi
~ Membangun Prototype
Fase III
Prototype Dasar Kasus
~ Pengujian dan Pengembangan
~ Demontrasi dan Pengembangan Analisa
~ Penyelesaian Desain
Fase IV
~ Membangun Basis Pengetahuan
35
Pengembangan System
~ Pengujian, Evaluasi dan Pengembangan
Basis Pengetahuan
~ Proses Input Pemakai
~ Instalansi, Demonstrasi, dan Penerapan
System
Fase V
Implementasi System
~
~ Orientasi dan Latihan
~ Keamanan
~ Dokumentasi
~ Integrasi dan Pengujian Kasus
Fase VI
Implementasi Tahap Lanjut
~ Operasional
~ Perawatan dan Pengembangan System
~ Evaluasi System secara Periodik
Gambar 2. 8. Fase Pengembangan System Pakar
2.2.Pemrograman
Bahasa yang digunakan untuk membuat Aplikasi System Pakar pada tugas
akhir ini adalah Microsof Visual Basic 6.0 ( VB ). Microsof Visual Basic sudah
tidak asing lagi bagi para pemakai Komputer, khususnya yang bergerak dibidang
Pemrograman. Sejak bahasa ini muncul, seakan akan menjadi kiblat bagi para
pengembang Program ( Programmer ) untuk mempelajari dan menguasainya.
36
Banyak orang yang mengira Visual Basic itu sulit, tetapi sebenarnya sama
sekali tidak. Siapapun orangnya yang bisa menggunakan Windows, menggeser
Mouse, membuka atau menutup jendela, pastilah bisa menggunakan Visual Basic.
2.2.1 Pengenalan Pemrograman Visual Basic
Visual Basic pada dasarnya adalah sebuah bahasa pemrograman
Komputer. Bahasa pemrograman adalah perintah perintah atau instruksi yang
dimengerti oleh komputer untuk melakukan tugas tugas tertentu. Visual Basic kini
seakan akan menjadi kiblat bagi para Software Developer, dan menjadi salah satu
bahasa yang wajib dipelajari oleh berbagai kalangan, jika mereka ingin sukses
didunia komputer.
Visual Basic merupakan Program yang sederhana dan banyak digemari
oleh para Software Developer. Meskipun sederhana, Visual Basic sangatlah
Powerful dan bersifat Object Oriented untuk menciptakan berbagai macam
program aplikasi, baik yang berskala kecil maupun yang berskala besar. Visual
Basic yang digunakan oleh penulis dalam pembuatan System Pakar adalah Visual
Basic versi 6.0.
Visual Basic merupakan salah satu bahasa pemrograman yang bekerja
dalam lingkup Microsoft Windows yang banyak digunakan saat ini. Karena
Visual Basic ( VB ) merupakan bahasa pemrograman, maka didalamnya berisi
tentang peritah perintah atau instruksi yang dimengerti oleh Komputer untuk
melakukan tugas tugas tertentu. Tugas tugas tersebut dapat dijalankan apabila ada
37
respon dari pemakai. Respon tersebut merupakan kejadian / Event tertentu,
misalnya memilih tombol, menu, dsb.
2.2.2. Kemampuan dari Visual Basic antara lain sebagai berikut.
1. Membuat program Aplikasi berbasis Windows
2. Membuat objek objek pembantu program
3. Menguji
program dan
menghasilkan
program program akhir
yang
berekstensikan File Executable ( “ exe “ ) yang langsung dapat dijalankan.
2.2.3. Keistimewaan Visual Basic 6.0
Sejak dikembangkan pada tahun 1980-an, Visual Basic kini telah
mencapai Versinya yang ke – 6. Beberapa keistimewaan utama dari Visual Basic
6.0 yaitu.
1. Menggunakan Platform pembuatan program yang diberi nama Developer
Studio, yang memiliki tampilan dan sarana yang sama Visual C++ dan Visual
J++.
2. Memiliki Compiler handal yang dapat menghasilkan File Executetable yang
llebih cepat dan efisien dari sebelumnya.
3. Memiliki beberapa tambahan sarana Wizard yang baru. Wizard adalah saran
yang
mempermudah
dalam
didalam
mengotomatisasi tugas tugas tertentu.
38
pembuatan
Aplikasi
dengan
4. Tambahan kontrol kontrol baru yang lebih canggih serta peningktan kaidah
struktur bahasa Visual Basic.
5. Kemampan membuat ActiveX dan Fasilitas Internet yang lebih banyak
6. Sarana akses data yang lebih cepat dan handal untuk membuat Aplikasi
database yang berkemampuan tinggi.
7. Visual Basic 6.0 memiliki beberapa versi atau edisi yang disesuaikan dengan
kebutuhan pemakainya.
Selain kemampuan kemampuan diatas, Visual basic juga menyediakan
fasilitas antar muka penulisan kode program yang lebih mudah dimengerti dan
dipakai sehingga berbagai tipe program dapat dikembangkan didalamnya,
misalnya. File EXE, DLL, dan OCX, bahan program program yang berbasis
internet sekalipun.
Berbagai tipe program yang dapat dikembangkan tersebut disimpan
dengan tipe tipe pengenal ( Extensi ) tertentu, yaitu sebagai berikut.
Tipe
Extensi
Form
FRM
Module umum
BAS
Module Class
CLS
Control
CTL
ActiveX Dokument
DOB
Tabel 2. 4. Tipe Pengenal ( Extensi )
2.2.4. Ruang Lingkup Kerja Visual Basic
39
Ruang lingkup kerja Visual Basic maksudnya adalah komponen
komponen (gabungan dari beberapa fasilitas yang dimiliki ) yang terdapat pada
Integrated Development Environment ( IDE ) Visual Basic. Bagian bagian utama
yang dimiliki oleh Visual Basic adalah sebagai berikut.
Gambar 2. 9. Integrated Development Environment
2.2.5. Pengembangan Program
Dalam merancang suatu program agar dapat berjalan dengan baik,
diperlukan 5 tahap utama sebelum program tersebut siap digunakan, yaitu.
1. Analisa
Tahap ini merupakan tahap awal. Tugas utama dari tahapan ini adalah
Identifikasi masalah secara tepat sesuai kebutuhan dan kemampuan.
2. Desain solusi
Setelah mengetahui kebutuhan dan kemampuan secara tepat, tahapan
selanjutnya adalah mendesain solusi, membuat Flow – chart Program,
menentukan Input Spesifik. Tahapaan ini mengkonsumsi waktu tebanyak
dalam proses pembuatan program, tetapi tanpa tahapan ini kemungkinan besar
seorang pembuat program akan bekerja dua kali
3. Membuat kode
40
Tahapan selanjutnya dari sebuah proses penbuatan program adalah
membuat kode. Dapat diilustrasikan seakan akan pembuat program sedang
bercakap cakap dengan Komputer dan mengatakan keinginannya sesuai
desain, tentunya dengan bahasa yang dipahami oleh Komputer.
4. Pengujian Program
Setelah program selesai dibuat atau mendekati sempurna, maka program
harus diuji untuk memeriksa adanya Bug atau perilaku menyimpang, jika ada
maka dilakukan proses perbaikan hingga program benar benar dapat
beroperasi tanpa kesalahan.
5. Integrasi
Dalam tahap ini pembuat program menentukan pada Platform mana
program dapat beroperasi dengan baik. Misalnya program ini dibuat dengan
Microsoft Acces 2000 – Visual Basic 6.0 diatas windows ’98. Pada tahap
terakhir ini juga dapat dibuat SetupPackage, menetukan media yang akan
digunakan, misalnya disket, atau CD ROOM.
2.3.Basic Data ( Database )
Data dinyatakan dengan nilai (angka, deretan karakter, atau symbol).
Sejumlah penulis menggunakan data untuk menyatakan nilai nilai yang secara
aktual terkandung dalam basis data sedangkan informasi digunakan untuk
menyatakan makna nilai ketika dipahami oleh pengguna. Informasi adalah hasil
analisis dan sintesis terhadap data. Dengan kata lain, informasi dapat dikatakan
sebagai data yang telah diorganisasikan kedalam bentuk yang sesuai dengan
41
kebutuhan seseorang, entah itu manager, staf, ataupun orang lain didalam suatu
organisasi atau perusahaan, atau dapat juga didefinisikan bahwa informasi adalah
data yang digunakan dalam mengambil keputusan.
Data dapat diorganisasikan kedalam suatu hirarki yang terdiri atas elemen
data ( Data element ), Rekaman (Record), dan elemen berkas (file)
File
Record
Record
9 Data
elemen adalah satuan
data terkecil yang
tidak dapat dibagi
menjadi
Datalagi
Elemen
Data Elemen
Data Elemen
Data Elemen
bagian lain yang bermakna. Sebagai contoh. nama mahasiswa, jurusan
meahasiswa, dll. Istilah lain untuk data elemen adalah medan (Field ), kolom,
item dan atribut.
9 Record adalah gabungan dari sejumlah element data yang saling terkait,
seperti nama, alamat, jenis kelamin. Dalam system basis data relasional
disebut dengan tupelo atau baris.
9 File adalah Himpunan dari seluruh Record yang bertipe membentuk berkas.
File dapat dikatakan sebagai kumpulan rekaman data yang berkaitan dengan
suatu obyek. Dalam system basis data Relational, file mewakili komponen
komponen yang disebut tabel atau relasi.
Lebih dari 70% kebutuhan perangkat lunak adalah aplikasi Database.
Begitu besarnya kebutuhan tersebut, maka para vendor pembuat perangkat lunak
42
menghasilkan program Database, baik berupa program jenis Aplikasi maupun
jenis pengembang yang biasanya menyertakan Engine Databasenya. Demikian
juga Microsoft, tercatat ada 3 produk pengembang database yang diproduksinya,
yaitu Microsoft Acces, Ms Visual Foxpro, dan Ms SQL Server. Selain itu
Microsoft juga menyediakan sarana pengembang Database yang berbasis bahasa
pemrograman seperti MS Visual C++ dan MS Visual Basic.Perbedaan dua
kelompok tersebut adalah kelompok pertama khusus menangani Database,
sedangkan kelompok yang kedua kemampuannya lebih luas, tidak hanya
Database. Jadi dengan kelompok kedua penulis bisa menghasilkan Aplikasi
gabungan, misalnya GIS ( Geograpichal Information System ), yaitu integrasi
antara database dan peta, atau IMS ( Instrumentation and Measurement System )
yang bertugas melakukan pengukuran secara online, dimana operasionalnya
melibatkan Database.
2.3.1 Definisi Basic Data ( Database )
Basis Data (Databse) dapat dibayangkan sebagai sebuah lemari arsip.Jika
kita memiliki sebuah lemari arsip dan berwenang/bertugas unuk mengelolanya,
maka kemungkinan besar kita akan melakukan hal-hal besar seperti . memberi
sampul/map pada kumpulan/bundel arsip yang akan disimpan, menentukan
kelompok/jenis arsip, memberi penomoran dengan pola tertentu yang nilainya
unik pada setiap sampul/map, lalu menempatkan arsip-arsip tersebut dengan
cara/urutan tertentu di dalam lemari. Kalaupun hal-hal tersebut tidak seluruhnya
dilakukan, paling tidak, semua lemari arsip menerapkan suatu aturan/cara tertentu
43
tentang bagaimana keseluruhan arsip-arsip tadi ditempatkan/disusun. Yang paling
sederhana, tentu menyusun/menempatkan arsip-arsip tadi sesuai kedatangannya
(kronologisnya) dan tanpa pengelompokan. Hampir tidak akan pernah kita jumpai
adanya
lemari
arsip
yang
tidak
memiliki
aturan/cara
dalam
penyusunan/penempatan arsip-arsip di dalamnya.bahkan untuk sebuah lemari
buku atau baju pun , secara alamiah, kita seringkali menerapkan suatu cara/aturan
tertentu dalam menyusun menempatkan buku-buku atau baju-baju itu di dalam
sebuah lemari. Upaya penyusunan/penempatan ini memang baru kita lakukan jika
kita rasakan, bahwa buku atau baju tersebut sudah cukup banyak.
Mengapa hal-hal itu kita lakukan? Jawabannya sederhana. kita berarap
pada suatu saat nanti, sewaktu kita bermaksud untuk mencari data mengambil
kembali arsip atau buku atau baju dan lemari masing-masing kita dapat
melakukannya dengan mudah dan cepat.
Basis data terdiri atas 2 kata, yaitu basis dan data. Basis kurang lebih dapat
diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan
Data dapat diartikan adalah representasi fakta / informasi dunia nyata yang
mewakili suatu obyek seperti manusia (pegawai, siswa, pembeli, pelanggan),
barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam
bentuk angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya. Jadi Basis
Data (Database) adalah sekumpulan fakta / informasi mengenai obyek yang
direpresentasikan dan disusun dalam urutan urutan tertentu.
44
Basis Data sendiri dapat didefinisikan dalam sejumlah sudut pandang
seperti.
♦ Himpunan
Kelompok
data
(arsip)
yang
saling
berhubungan
yang
diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah.
♦ Kumpulan data yang saling berhubungan yang disimpan secara berseni
sedemikian rupa dan tanpa pengulangan (redundasi) yang tidak perlu, untuk
memenuhi berbagai kebutuhan.
♦ Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam
media penyimpanan elektronis.
Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan
tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan
utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali
data/arsip. Perbedaanya hanya terletak pada media penyimpanan yang digunakan
lemari arsip menggunakan lemari dari besi atau kayu sebagai media penyimpanan,
maka basis data menggunakan media penyimpanan elektronis seperti disk (disket
atau harddisk), dll. Hal ini merupakan konsekuensi yang logis, karena lemari arsip
langsung dikelola/ditangani oleh manusia, sementara basis data dikelola/ditangani
melalui perantara alat/mesin pintar elektronis (yang kita kenal sebagai computer).
Perbedaan media ini selanjutnya melahirkan perbedaan-perbedaan lain yang
menyangkut jumlah dan jenis metode/cara yang dapat digunakan dalam upaya
penyimpanan.
45
Satu hal yang juga harus diperhatikan bahwa basis bukan hanya sekedar
penyimpanan data secara elektronis (dengan bantuan computer). Artinya, tidak
semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Kita
dapat menyimpan dokumen berisi data dalam file teks (dengan program pengolah
kata), file spread sheet, dan lain-lain tetapi tidak bias disebut sebagai basis data.
Karena didalamnya tidak ada pemilah dan pengelompokan data sesuai jenis/fungsi
data, sehingga akan menyulitkan pencarian data kelak. Yang sangat ditonjolkan
dalam basis data adalah pengaturan atau pemilihan / pengelompokkan /
pengorganisasian data yang akan kita simpan sesuai fungsi / jenisnya.
Pemilihan / pengelompokan / pengorganisasian ini dapat berbentuk
sejumlah file / table terpisah atau dalam bentuk pendefinisian kolom-kolom /
field-field data dalam setiap file / table.
A. Microsoft Database ( Mdb )
Apabila penulis ingin membangun sebuah rumah, penulis memerlukan
sebuah rancangan yang menunjukan hasil akhir rumah tersebut dan menentukan
langkah langkah pembangunannya. Tanpa rancangan, hasil pembangunan tidak
akan sesuai dengan hasil yang diinginkan. Demikian pula dengan membuat
sebuah program komputer, penulis memerlukan rancangan yang baik bila
menginginkan produk / hasil akhir yang baik. Ini sangat penting terutama dalam
membuat aplikasi Database.
Dalam merancang Aplikasi Database, penulis harus dapat.
46
‰
Membuat dan Menyimpan data seefisien mungkin dan fleksibel dalam
mengikut sertakan fungsi fungsi baru yang diperlukan program.
‰
‰
‰
Mengatur rutin rutin program agar kinerjanya maximum.
Memperhatikan tata letak penyimpanan Data.
Merancang Database yang baik sehingga memberikan waktu pencarian
minimum dalam menentukan lokasi Record Record tertentu.
Hal tersebut bertujuan agar mempermudah dalam memperbaiki dan
memperbarui data yang sudah tersimpan.
B.
Microsoft Access 2000
Konsep Dasar
Microsoft
Access
adalah
suatu
Database
Windows
yang
mengeksploitasi lingkungan windows. Microsoft Access murni didesain
untuk lingkungan lingkungan windows, dan aplikasi Access merupakan
sekumpulan obyek Access yang bekerja terpadu untuk menyelesaikan
masalah. Access memiliki tujuh kelas obyek yang merupakan blok
pembentuk semua aplikasi, meliputi.
1. Database merupakan kelompok fakta atau keterangan yang diatur
berhubungan dengan pengolahan data, penyediaan informasi, dan
penggunaan Inferensi. Database adalah sekumpulan fakta / informasi
47
mengenai obyek yang direpresentasikan dan disusun dalam kriteria /
urutan urutan tertentu yang jelas. Database yang demikian ditampilkan
dengan menggunakan Access 2000 dengan memperhatikan FileTabel,
Field, Primary Key, dan sebagainya
2. Table adalah Obyek dimana data yang sesungguhnya ( Fakta )
disimpan.
3. Query adalah Obyek yang digunakan untuk menerima Informasi (
biasanya berformat seperti table ) dari satu atau beberapa table. Query
juga mengerjakan berbagai operasi dalam table yang memodifikasi
data.
4. Form digunakan untuk memasukan, menyunting, dan menampilkan
data. Form adalah Interface dimana pengguna berinteraksi dengan data
5. Report digunakan untuk mengakses dan mencetak data dalam tata letak
khusus, dan mempunyai kemampuan performa total dan kalkulasi lain
terhadap sekelompok data terkait.
6. Macros adalah rangkaian aksi yang didefinisikan sebelumnya, dimana
manipulasi obyek lain dapat digunakan untuk mengotomatisasikan
tugas berulang dan memodifikasikannya.
7. Modules adalah prosedur yang dibuat dengan ABC ( Access Basic
Code ) untuk pembuatan dan pengolahan modul didalam Visual Basic
48
Gambar 2. 10. Task Panes Microsoft Access 2000
C. Microsoft Jet Engine 3.6.
Ide yang melatar belakangi Microsoft Jet adalah penulis dapat
menggunakan satu antar muka untuk mengakses berbagai tipe data. Microsoft
merancang Microsoft Jet untuk menyediakan antar muka yang konsisten bagi
pemakai
tanpa
memperhatikan
tipe
data
yang
dikerjakan
pemakai.
Konsekwensinya, penulis dapat menggunakan fungsi Microsoft Jet yang sama
yang penulis gunakan untuk mengakses File Teks ASCII atau Microsoft Excel,
juga melakukan operasi data pada database Mixcrosoft Access.
Microsoft Jet Engine bukan program tunggal, tetapi merupakan
sekumpulan rutin yang bekerja bersama sama. Microsoft Jet berbicara kepada
sekumpulan rutin terjemahan. Rutin tersebut mengubah permintaan Microsoft Jet
penulis kedalam perintah yang dapat dipahami oleh database target. Rutin rutin
49
penerjemahan tersedia untuk Database Microsoft Access, dan File ISAM non
Microsoft Access seperti dBASE, FoxPro, Paradox, dan sebagainya. Kumpulan
terjemahan bahkan ada yang untuk menangani sumber data ODBC dengan
menggunakan antar muka Microsoft Jet. Secara teori penulis dapat mengakses
sembarang format File data melalui Microsoft Jet, asalkan ada beberapa kumpulan
Rutin terjemahan. Adapun fungsi dari Microsoft Jet Engine 3.6, yaitu.
menyediakan mekanisme penyimpanan fisik data, pemanggilan, pembaruan data,
dan pencarian data serta kemampuan indeks.
Mesin Database juga menyediakan method method untuk memastikan
validitas data, integritas data, dan security data. Perancangan mesin Database juga
menentukan featur manipulasi data yang didukung. Sebagai contoh, bila penulis
membuat suatu tabel penjualan dan bila perlu menaikan harga setiap item pada
setiap tabel penjualan eceran, satu mesin Database dapat mendukung dalam
menggunakan Query query tindakan yang memperbolehkan satu baris program
melakukan fungsinya. Dengan mesin Database yang lain, penulis harus
menggunakan loop program untuk memanggil setiap Record, mengubh harganya,
dan menyimpan perubahannya.
Untuk memanipulasi data, Jet mendukung penggunaan Structured Query
Language ( SQL ). SQL menyediakan sarana bagi suatu pernyataan untuk
memanggil, menambah, menghapus atau memperbarui grup grup record
berdasarkan kriteria kriteria yang diinginkan oleh pemakai.
50
OBYEK
DBEngine
DESKRIPSI
Obyek yang menunjuk ke mesin Database
Daerah yang digunakan pemakai untuk bekerja dengan
Workspace
satu Database atau lebih
Sekumpulan fakta / informasi yang diorganisir kedalam
Database
table, bersama sama dengan Indeks dan Informasi Relasi
mengenai Tabel
TableDef
Penetapan struktur fisik tabel data
QueryDef
Informasi Query SQL yang disimpan dalam Database
Recordset
Kumpulan Record record informasi mengenai suatu topik
Field
Unit tunggal Informasi dalam suatu Database
Daftar berurut record record dalam recordset berdasarkan
Indeks
field kunci yang ditetapkan
Relation
Penyimpanan Informasi mengenai hubungan antar tabel
Tabel 2. 5. Struktur Queri Language
51
Download