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