Aplikasi Sistem Pakar Penentuan Hukum Fiqih Menggunakan Visual Basic 6.0
APLIKASI SISTEM PAKAR PENENTUAN HUKUM FIQIH
MENGGUNAKAN VISUAL BASIC 6.0
TUGAS AKHIR
WAHYU RAMADHAN
092406057
PROGRAM STUDI D3 TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
(2)
APLIKASI SISTEM PAKAR PENENTUAN HUKUM FIQIH
MENGGUNAKAN VISUAL BASIC 6.0
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar
Ahli Madya
WAHYU RAMADHAN
092406057
PROGRAM STUDI D3 TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
(3)
ABSTRAK
Saat ini, kebanyakan masyarakat enggan dan malu untuk bertanya kepada ahlinya dalam dunia hukum fiqih. Ditambah lagi dengan sifat masyarakat yang saat ini menginginkan semua hal dapat diselesaikan dengan cepat dan mudah. Salah satu upaya yang dapat dilakukan untuk mengatasi hal tersebut adalah dengan merancang sebuah aplikasi sistem pakar penentuan hukum fiqih. Sehingga terbentuk aplikasi yang dapat mempermudah dan mempercepat pengguna dalam menentukan hukum fiqih dari masalah yang sedang atau telah dialami.
(4)
DAFTAR ISI
Halaman
Abstrak i
Daftar Isi ii
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Maksud dan Tujuan 3
1.5 Metode Pengumpulan Data 3
1.6 Sistematika Penulisan 5
BAB 2 LANDASAN TEORI
2.1 Pengertian Sistem Pakar 6
2.2 Konsep Umum Sistem Pakar 10
2.3 Struktur Sistem Pakar 12
2.3.1 Antarmuka Pengguna (user interface) 13
2.3.2 Basis Pengetahuan 14
2.3.3 Akuisisi Pengetahuan 14
2.3.4 Mesin Inferensi 16
2.3.5 Workplace 17
2.3.6 Fasilitas Penjelasan 18
2.3.7 Perbaikan Pengetahuan 18
2.4 Ciri-ciri dan Kategori Masalah Sistem Pakar 18
2.5 Keuntungan Sistem Pakar 21
2.6 Kelemahan Sistem Pakar 21
2.7 Membangun Sistem Pakar 22
2.8 Mengembangkan Sistem Pakar 23
2.9 Microsoft Visual Basic 6.0 23
2.9.1 Tampilan (interface) Visual Basic 6.0 25 2.9.2 Konsep Dasar Pemrograman Visual Basic 6.0 30
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem 31
3.2 Perancangan Sistem 32
3.2.1 Flowchart sistem 32
3.2.2 Pengolahan Data (database) 34
3.2.3 Data Flow Diagram (DFD) Sistem Pakar 35 Penentuan Hukum Fiqih
3.3 Spesifikasi Proses 38
3.4 Perancangan Antarmuka (interface) 39
3.4.1 Rancangan form selamat datang 40
3.4.2 Rancangan form login 40
3.4.3 Rancangan form admin 41
3.4.4 Rancangan form tambah pilihan 41
(5)
3.4.6 Rancangan form pilih kategori permasalahan 42 3.4.7 Rancangan form tambah pertanyaan 42 3.4.8 Rancangan form hasil pendekatan 43 3.4.9 Rancangan form dasar kesimpulan 43 3.4.10 Rancangan form tentang pembuat 44 3.4.11 Rancangan form tentang program 44
BAB 4 IMPLEMENTASI SISTEM
4.1 Menu Selamat Datang 45
4.2 Menu Login 46
4.3 Menu Admin 46
4.4 Menu Tambah Kategori Pilihan 47
4.5 Menu Tambah Solusi 48
4.6 Menu Pemilihan Kategori 48
4.7 Menu Pendekatan Masalah 49
4.8 Menu Hasil Pendekatan 50
4.9 Menu Dasar Kesimpulan 50
4.10 Menu Tentang Pembuat 51
4.11 Menu Tentang Program 52
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 53
5.2 Saran 53
DAFTAR PUSTAKA LAMPIRAN PROGRAM
(6)
ABSTRAK
Saat ini, kebanyakan masyarakat enggan dan malu untuk bertanya kepada ahlinya dalam dunia hukum fiqih. Ditambah lagi dengan sifat masyarakat yang saat ini menginginkan semua hal dapat diselesaikan dengan cepat dan mudah. Salah satu upaya yang dapat dilakukan untuk mengatasi hal tersebut adalah dengan merancang sebuah aplikasi sistem pakar penentuan hukum fiqih. Sehingga terbentuk aplikasi yang dapat mempermudah dan mempercepat pengguna dalam menentukan hukum fiqih dari masalah yang sedang atau telah dialami.
(7)
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Dengan perkembangan teknologi yang semakin canggih saat ini menyebabkan tuntutan yang mengharapkan kemudahanan dan keefektifan dalam menyelesaikan suatu pekerjaan. Dengan kebutuhan masyarakat akan teknologi, khususnya komputer, yang semakin meningkat, mendorong para ahli di bidang komputer untuk menciptakan aplikasi ataupun perangkat lunak yang mudah digunakan. Ditambah lagi dengan sifat masyarakat yang saat ini menginginkan semua hal dapat diselesaikan dengan cepat dan mudah. Salah satunya dalam menentukan hukum Fiqih dari sebuah perkara.
Banyak masyarakat Muslim hari ini yang sudah tidak peduli lagi dengan baik buruknya suatu amalan yang mereka lakukan ditambah lagi mereka sudah tidak peduli dengan halal atau haramkah amalam tersebut. Yang menyebabkan mereka akan melakukan berbagai cara untuk mencapai tujuannya masing-masing tanpa memikirkan baik atau buruknya cara tersebut. Selain itu, kita mengetahui bahwa dalam penentuan hukum fiqih dari suatu perkara kita harus datang dan bertanya langsung kepada seorang pakar dalam bidangnya yaitu ahli hukum Fiqih dan kemudian pakar tersebut akan memberikan penjelasan serta memberikan kesimpulan dari perkara tersebut. Tentu cara ini masih memerlukan banyak waktu dan banyak masyarakat yang enggan melakukannya.
Sebagai upaya untuk mengatasi hal tersebut maka kami berusaha merancang sebuah aplikasi untuk menentukan hukum fiqih dari suatu perkara dengan menggunakan bahasa pemrograman berorientasi objek. Aplikasi ini diharapkan dapat mempermudah pengguna untuk mengetahui hukum Fiqih dari suatu perkara yang sering dialami. Hal ini tentu saja dapat menjadi solusi bagi masyarakat yang masih enggan untuk bertanya mengenai perkara yang belum diketahui dasar hukumnya.
(8)
Sehingga ketika pengguna menemukan perkara baru yang belum diketahui hukumnya maka pengguna tersebut tidak perlu pergi bertanya kepada pakarnya secara langsung melainkan hanya tinggal menggunakan aplikasi ini.
1.2 Rumusan Masalah
Perkembangan dunia teknologi menyebabkan tuntutan untuk memberi kemudahan dalam menyelesaikan setiap pekerjaan. Seperti halnya dalam menentukan hukum Fiqih dari suatu perkara yang saat ini masih dilakukan secara manual. Berdasarkan hal tersebut penulis mengangkat permasalahan bagaimana agar dalam menentukan huklum Fiqih dari suatu perkara dapat dilakukan dengan mudah dan dalam waktu yang singkat?
1.3 Batasan Masalah
Melihat banyaknya masalah yang akan muncul dari perancangan aplikasi ini, maka penulis membatasi masalah yang akan menjadi pembahasan dalam perancangan aplikasi ini, yaitu:
a. Pemrograman yang digunakan untuk merancang aplikasi ini yaitu Pemrograman Visual Basic 6.0.
b. Pendekatan-pendekatan yang dilakukan untuk mendapatkan kesimpulan adalah dengan memberikan pertanyaan-pertanyaan yang disimpan dalam database, yaitu VisData.
c. Aplikasi ini dirancang tidak terkoneksi ke internet.
d. Aplikasi ini dibuat berdasarkan buku-buku Fiqih dan informasi yang diperoleh melalui media internet dan juga hasil konsultasi dari beberapa ahli dalam Fiqih.
(9)
1.4 Maksud dan Tujuan
Adapun maksud dan tujuan pembuatan aplikasi ini adalah:
a. Untuk membuat tugas akhir sebagai salah satu syarat menyelesaikan program pendidikan Diploma III di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
b. Sebagai bentuk penerapan ilmu yang telah dipelajari semasa perkuliahan secara nyata dan aplikatif.
c. Untuk mempermudah mengetahui hukum-hukum Fiqih dari suatu perkara. d. Untuk memanfaatkan Pemrograman Visual Basic 6.0 sebagai pemrograman
pokok dalam perancangan aplikasi ini.
e. Untuk memberikan kemudahan kepada pengguna dalam menentukan hukun-hukum Fiqih dari suatu perkara.
f. Untuk memberikan inovasi baru dalam bidang hukum Fiqih.
1.5 Metode Pengumpulan Data
Data-data yang digunakan dalam penulisan tugas akhir ini diperoleh melalui beberapa tahapan. Adapun tahapan yang digunakan penulis dalam proses pengumpulan data adalah sebagai berikut:
a. Pembelajaran literatur
Penulis mengumpulkan data dan teori yang dibutuhkan dalam penulisan tugas akhir melalui buku-buku dan referensi lainnya yang berkaitan dengan tugas akhir ini.
b. Wawancara
Penulis melakukan wawancara dengan seorang pakar hukum Fiqih untuk medapatkan referensi hukum-hukum Fiqih tentang berbagai perkara.
(10)
c. Perancangan dan Pengkodean
Pada tahap ini penulis melakukan perancangan dan design sistem penentuan hukum fiqih sekaligus diimplementasikan ke dalam bentuk kode program Visual Basic.
d. Pengujian Program
Data diperoleh setelah proses pengujian program diuji dan diambil kesimpulan dari hasil pengujian tersebut.
e. Konsultasi dengan dosen pembimbing
Penulis melakukan diskusi dan bertanya secara langsung kepada dosen pembimbing yang bersangkutan mengenai segala sesuatu yang berkaitan dengan penulisan tugas akhir.
1.6. Sistematika Penulisan
Adapun sistematika penulisan yang digunakan penulis dalam penulisan laporan tugas akhir ini adalah sebagai berikut:
BAB 1 Pendahuluan
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, metode
pengumpulan data serta sistematika penulisan.
BAB 2 Landasan Teori
Landasan teori dalam bab ini menjelaskan tentang teori pendukung yang digunakan untuk pembahasan tugas akhir meliputi gambaran umum, prinsip kerja sitem pakar dan penjelasan mengenai Pemrograman visual Basic 6.0.
(11)
BAB 3 Analisis dan Perancangan Sistem
Bab ini membahas tentang perancangan aplikasi untuk mengetahui hukum Fiqih dari suatu perkara yang diperoleh melalalui pertannyaan-pertanyaan yang diajukan oleh sistem.
BAB 4 Implementasi Sistem
Bab ini akan membahas analisis hasil dan pembahasan aplikasi sistem pakar penentuan hukum Fiqih yang dirancang, pembuatan program yang diusulkan, tampilan interface program dan pengujian aplikasi.
BAB 5 Kesimpulan dan Saran
Bab ini berisikan kesimpulan dari bab-bab sebelumnya, sehingga dari kesimpulan tersebut penulis mencoba memberikan saran yang berguna untuk melengkapi dan menyempurnakan aplikasi ini dimasa yang akan datang.
(12)
BAB 2
LANDASAN TEORI
2.1 Pengertian Sistem Pakar
Langkah pertama dalam menyelesaikan setiap masalah adalah dengan mendefinisikan terlebih dahulu ruang lingkup permassalahan tersebut untuk permasalahan ynag akan diselesaikan. Hal ini juga berlaku untuk pemrograman Artificial Intelligence (AI). Dan untuk saat ini banayak permasalahan dunia nyata yang diselesaikan menggunakan AI dan banyak juga aplikasinya yang dikomersialkan. Walaupun penyelesaian umum untuk masalah AI belum ditemukan, tetapi pembatasan domain permaslaahannya telah dapat menghasilkan suatu penyelesaian yang bermanfaat.
Gambar 2.1.1 menunjukkan bahwa AI memiliki banyak ruang lingkup atau bidang. Bidang sistem pakar adalah salah satu bidang dari sekian banyak bidang yang dimiliki AI yang merupakan penyelesaian pendekatan yang sangat bagus untuk permasalahan AI klsik dari pemrograman intelligent (cerdas). Professor Edward Feigenbaum dari Universitas Stanford yang merupakan seorang pelopor awal dari teknologi sistem pakar, yang mendefinisikan sistem pakar sebagai suatu program komputer cerdas yang menggunakan knowledge (pengetahuan) dan prosedur inferensi untuk menyelesaikan maslaah yang cukup sulit sehingga membutuhkan seorang yang ahli dalam menyelesaiakannya (Feigenbaum:1982). Suatu sistem pakar adalah suatu sistem komputer yang menyamai kemampuan pengambilan keputusan dari seorang pakar. Istilah menyamai berarti bahwa sistem pakar diharapkan dapat bekerja dalam semua hal seperti seorang pakar.
(13)
Gambar 2.1.1 Ruang lingkup Artificial Intelligence (Kecerdasan Buatan)
Walaupun tujuan umum masih jauh dari apa yang diharapkan, namun sistem pakar berfungsi sangat baik dalam batasan domainnya. Dengan kata lain sistem pakar dibuat hanya pada domain pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia dalam satu bidang tertentu.
Sistem pakar adalah salah satu cabang dari kecerdasan buatan yang membuat penggunaan secara luas knowledge yang khususu untuk penyelesaian masalah tingkat manusia yang pakar. Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tetentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya. Ketika sistem pakar dikembangkan pertama kali sekitar tahun 70-an, sistem pakar hanya berisi knowledge yang eksklusif. Namun demikian, sekarang ini istilah sistem pakar sudah digunakan untuk berbagai macam sistem yang menggunakan teknologi sistem pakar tersebut. Teknologi sistem pakar ini meliputi bahasa sistem pakar, program dan perangkat keras yang dirancang untuk membantu pengembangan dan pembuatan siatem pakar.
Knowledge dalam sistem pakar mungkin saja seorang ahli, atau kemampuan yang terdapat dalam buku, majalah dan orang yang mempunyai pengetahuan tentang suatu bidang. Istilah sistem pakar, sistem knowledge-base, atau sistem pakar knowledge-base, sering digunakan dengan arti yang sama. Namun kebanyakan orang
Robotika
Pengenalan Pola Sistem Pakar
Sistem Saraf Tiruan Pengolahan
Bahasa Alami
Penglihatan Komputer
(14)
menggunakan istilah sistem pakar karena lebih singkat, bahkan walau belum benar-benar pakar, hanya menggunakan knowledge secara umum.
Gambar 2.1.2 menggambarkan konsep dasar suatu sistem pakar knowledge-base. Pengguna menyampaikan fakta atau informasi untuk sistem pakar dan keudian menerima saran dari pakar atau jawaban ahlinya. Dalam sistem pakar terdapat dua komponen utama, yaitu basis pengetahuan (Knowledge Base) yang berisi pengetahuan atau knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respons dari sistem pakar atas permintaan pengguna.
Gambar 2.1.2 Konsep Dasar Fungsi Sistem Pakar
Penggunaan sistem knowledge-base (basis pengetahuan) juga dirancang untuk menentukan penalaran atas masalah yang dihadapi. Suatu knowledge dari sistem pakar bersifat khusus untuk suatu domain masalah saja. Domain masalah adalah bidang atau ruang lingkup khusus, seperti kedokteran, bisnis, ilmu pengetahuan atau teknik. Sistem pakar menyerupai kepakaran manusia yang secara umum dirancang untuk menjadi pakar dalam satu domain masalah saja. Knowledge dari sistem pakar tentang penyelesaian masalah yang khusus disebut domain knowledge dari suatu pakar. Hubungan antara domain masalah dengan domain knowledge dapat dilihat pada gambar 2.3 yang menggambarkan bahwa domain knowledge secara keseluruhan merupakan bagian dari domain masalah.
USER
Sistem Pakar
Knowledge-Base
Mesin Inferensi
Fakta
(15)
Gambar 2.1.3 Hubungan antara domain masalah dengan domain knowledge.
Seorang pakar dengan sistem pakar mempunyai banyak perbedaan. Darkin (1994) mengemukakan perbandingan kemampuan antara seorang pakar dengan sebuah sistem pakar seperti pada tabel 2.1 berikut ini:
Tabel 2.1 Perbandingan kemampuan seorang pakar dengan sistem pakar
Faktor Seorang Pakar Sistem Pakar
Time availibity Hari kerja Setiap saat
Geografis Lokal/tertentu Di mana saja
Keamanan Tidak tergantikan Daapt diganti
Perishable/dapat habis Ya Tidak
Performansi Variabel/fluktuatif Konsisten
Kecepatan Variabel/fluktuatif Konsisten
Biaya Tinggi Terjangkau
Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seorang pakar, di antaranya:
Domain Masalah
Domain Pengetahuan
(16)
1. Dapat menyediakan kepakaran setiap waktu dan dimana saja.
2. Secara otomatis mengerjakan tugas-tugas rutin yang tidak membutuhkan seorang pakar.
3. Seorang pakar akan pension atau pergi. 4. Seorang pakar adalah mahal.
5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environtment).
Tujuan dari sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki seorang pakar ke dalam komputer dan kemudian kepada orang lain (nonexpert). Aktivitas yang dilakukan untuk memindahkan kepakaran adalah:
1. Knowledge Acquisition (dari pakar atau sumber lainnya) 2. Knowledge Representation (ke dalam komputer)
3. Knowledge Inferencing 4. Knowledge Transfering
2.2 Konsep Umum Sistem Pakar
Pengetahuan dari suatu sistem pakar meungkin dapat dipresentasikan dalam sejumlah cara. Salah satu cara yang paling umum untuk mempresentasikan pengetahuan adalah dalam bentuk tipe aturan (rule) IF…Then (Jika…maka).
Walaupun cara di atas sangat sederhana, namun banyak hal yang berarti dalam membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk aturan di atas. Turban (1995) menyatakan bahwa konsep dasar dari suatu sistem pakar mengandung beberapa unsur, yaitu keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian merupakan suatu pengetahuan di bidang tertentu yang didapatkan dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang merupakan keahlian adalah:
(17)
1. Fakta-fakta pada lingkup permasalahan tertentu. 2. Teori-teori pada lingkup permasalahan tertentu.
3. Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan tertentu.
4. Strategi-strategi global untuk menyelesaikan masalah. 5. Meta-knowledge (pengetahuan tentang pengetahuan).
Seorang ahli adalah seorang yang mempunyai pengetahuan tertentu dan mempu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jikan dipandang perlu, memilah aturan jika dibutuhkan dan menentukan relevan atau tidaknya keahliannya. Pengalihan keahlian dari para ahli untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan empat aktivitas, yaitu tambahan pengetahuan, representasi pengetahuan, inferensi pengetahuan dan pengalihan pengetahuan ke pengguna. Pengetahuan yang disimpan di komputer dinamakan dengan basis pengetahuan. Ada dua tipe pengetahuan, yaitu fakta dan prosedur.
Salah satu fitur yang harus dimiliki oleh sistem 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 deprogram untuk membuat inferensi. Proses ini dilihat dari motor inferensi (inference engine).
Menurut Turban (1995), terdapat tiga orang yang terlibat dalam lingkungan sistem pakar, yaitu:
1. Pakar
Pakar adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode serta kemampuan untukmengaplikasikan keahliannya tersebut guna menyelesaikan masalah.
(18)
2. Perekayasa Sistem
Perekayasa sistem adalah orang yang membantu pakar dalam menyususn area peramsalahan dengan menginterpretasikan dan mengintegrasikan jawaban-jawaban pakar atas pertanyaan yang diajukan, menggambarkan analogi, mengajukan counter example dan menerangkan kesulitan-kesulitan konseptual.
3. Pengguna
Sistem pakar memiliki beberapa pengguna, yaitu: pemakai bukan pakar, pelajar, pembangun sistem pakar yang ingin mengingatkan dan menambah basis pengetahuan dan pakar.
2.3 Struktur Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan (decelopment environtment) dan lingkungan konsultasi (consultation environtment) (Turban, 1995). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen kedua bagian tersebut dapat dilihat pada gambar 2.4 berikut ini:
(19)
LINGKUNGAN KONSULTASI LINGKUNGAN PENGEMBANGAN
Fakta tentang kejadian tertentu
Gambar 2.3.1 Struktur Sistem Pakar
Komponen-komponen yang terdapat dalam sistem pakar adalah seperti yang terdapat pada gambar di atas, yaitu user interface (antarmuka pengguna), basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan dan perbaikan pengetahuan.
2.3.1 Antarmuka Pengguna (User Interface)
User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka juga menerima informasi dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai. Menurut McLeod (1995), pada bagian ini terjadi dialog
Akuisisi Pengetahuan Pemakai Antar Muka Aksi yang direkomendasikan Fasilitas Penjelasan Aksi yang direkomendasikan Workplace Mesin Inferensi Perbaikan Pengetahuan Basis Pengetahuan
Fakta dan Aturan
Knowledge Engineer
(20)
antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi kepada pemakai.
2.3.2 Basis Pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang objek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah ada.
Dalam studi kasus pada sistem berbasis pengetahuan terdapat beberapa karakteristik yang dibangun untuk membantu kita di dalam membentuk serangkaian prinsip-prinsip arsitekturnya. Prinsip tersebut meliputi:
1. Pengetahuan merupakan kunci kekuatan sistem pakar. 2. Pengetahuan sering tidak pasti dan tidak lengkap. 3. Pengetahuan sering miskin spesifikasi.
4. Amatir menjadi ahli secara bertahap. 5. Sistem pakar harus fleksibel.
6. Sistem pakar harus transparan .
2.3.3 Akuisisi Pengetahuan
Akuisisi pengetahuan adalah pengumpulan, perpindahan dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer. Dalam tahap ini knowledge engineer berusaha menyerap pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan. Menurut Turban (1988), terdapat tiga metode utama dalam akuisisi pengetahuan, ditambah dengan satu metode untuk aturan tertentu, yaitu:
(21)
1. Wawancara
Wawancara adalah metode akuisisi yang paling banyak digunakan. Metode ini melibatkan pembicaraan dengan pakar secara langsung dalam suatu wawancara. Terdapat beberapa bentuk wawancara yang dapat digunakan, masing-masing bentuk tersebut memiliki tujuan yang berbeda.
a. Contoh masalah (kasus) b. Wawanvara klasifikasi
c. Wawancara terarah (directed interview)
d. Diskusi kasus dalam konteks sebuah prototype sistem. 2. Analisis protokol
Dalam metode ini, pakar diminta untuk melakukan suatu pekerjaan dan mengungkapkan proses pemikirannya. Pekerjaan tersebut direkam, dituliskan dan dianalisis.
3. Observasi pada pekerjaan pakar
Dalam metode ini, pekerjaan dalam bidang pakar tertentu yang dilakukan pakar direkam dan diobservasi.
4. Induksi aturan yang dibatasi untuk sistem berbasis aturan
Induksi adalah suatu proses penalaran dari khusus ke umum. Suatu sistem induksi aturan diberi contoh-contoh dari suatu masalah yang hasilnya telah diketahui. Setelah itu, induksi aturan tersebut dapat membuat aturan yang benar untuk kasus-kasus contoh. Selanjutnya aturan tersebut dapat digunakan untuk menilai kasus-kasus lain yang hasilnya tidak diketahui.
Akuisisi pengetahuan dilakukan sepanjang proses pembangunan sistem. Menurut Fireburg (1989), proses akuisisi pengetahuan dibagi ke dalam enam tahap, yaitu:
(22)
1. Tahap identifikasi, meliputi penentuan komponen-komponen kunci dalam sistem yang sedang dibangun. Komponen kunci ini adalah knowledge engineer, pakar, karakteristik masalah, sumber daya dan tujuan.
2. Tahap konseptualisasi merupakan tahap kelanjutan dari tahap peratama yang membuat konsep-konsep kunci dan hubungannya pada tahap tersebut menjadi lebih jelas.
3. Tahap formalisasi, meliputi pemetaan konsep-konsep kunci, sub masalah dan bentuk aliran informasi yang telah ditentukan dalam tahap-tahap sebelumnya ke dalam representasi formasi yang paling sesuai dengan masalah yang ada.
4. Tahap implementasi, meliputi pemetaan pengetahuan dari tahap sebelumnya yang telah diformalisasi ke dalam skema representasi pengetahuan yang dipilih.
5. Tahap pengujian, meliputi proses pengujian prototipe sistem yang telah dibangun pada tahap sebelumnya untuk menjalani serangkaian pengujian dengan teliti menggunakan beragam sampel masalah. Masalah-masalah yang ditemukan dalam pengujian ini biasanyadapat dibagi menjadi tiga kategori, yaitu kegagalan input/output kesalahan logika dan strategi kontrol.
6. Revisi prototipe, suatu unsur penting pada semua tahap dalam proses akuisisi pengetahuan adalah kemampuan untuk kembali ke tahap-tahap sebelumnyauntuk memperbaiki sistem.
2.3.4 Mesin Inferensi
Mesin inferensi adalah komponen yang mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Menurut Turban (1995) mesin inferensi adalah program komputer yang memberikan metodologi penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace dan untuk merumuskan kesimpulan. Kebanyakan sistem pakar berbasis aturan menggunakan strategi inferensi yang dinamakan modus ponen. Pada prinsipnya, komponen ini akan mencari solusi dari suatu permasalahan.
Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu pelacakan ke belakang (backward chaining) atau dalam salah
(23)
satu buku biasa disebut dengan runut balik (top-down) dan pelacakan ke depan (forward chaining) yang sering disebut sebagai runut maju (bottom-up). Backward chaining adalah proses penalaran yang berawal dari tujuan, kemudian menelusuri fakta-fakta yang mendukung untuk mencapai tujuan tersebut. Sementara forward chaining merupakan kebalikan dari backward chaining, yaitu proses penalaran yang bermula dari fakta-fakta yang diketahui untuk mencapai tujuan yang diinginkan.
Tabel 2.3.4.1 Karakteristik formard dan backward chaining
Forward chaining Backward chaining
Perencanaan, pengawasan, kontrol Diagnosisi
Disajikan untuk masa depan Disajikan untuk masa lalu Data memandu penalaran dari bawah ke
atas
Tujuan pemandu penalaran dari atas ke bawah
Bekerja ke depan untuk mendapatkan solusi apa yang mengikuti fakta
Bekerja ke belakang untuk mendapatkan fakta yang mendukung hipotesis
Dalam memilih metode yang akan digunakan, semuanya bergantung pada masalah yang akan dibuat sistem pakarnya dan belum dapat dibuktikan mana yang lebih baik di antara kedua metode inferensi ini. Untuk sebuah sistem pakar yang besar, dengan jumlah aturan yang relatif banyak, metode pelacakan ke depan akan dirasakan sangat lamban dalam pengambilan kesimpulan, sehingga untuk sistem-sistem yang besar digunakan metode pelacakan ke belakang.
2.3.5 Workplace
Workplace merupakan area dari sekumpulan memori kerja (working memory). memori kerja merupakan bagian dari sistem pakar yang menyimpan fakta-fakta yang diperoleh saat dilakukan proses konsultasi. Fakta-fakta inilah yang nanti akan diolah oleh mesin inferensi berdasarkan pengetahuan yang disimpan dalam basis pengetahuan untuk menentukan suatu keputusan pemecahan masalah. Hasilnya dapat berupa hasil diagnosis, tindakan ataupun akibat.
(24)
2.3.6 Fasilitas Penjelasan
Komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai mengenai jalannya penalaran sehingga dihasilkan suatu keputusan. Bentuk penjelasannya dapat berupa keterangan yang diberikan setelah suatu pertanyaan diajukan, yaitu penjelasan atas pertanyaan bagaimana sistem mencapai keputusan.
2.3.7 Perbaikan Pengetahuan
Pengetahuan pada sistem pakar dapat dirobah kapan saja sesuai kebutuhan sistem. Hal ini dilakukan sehingga pemakai akan menggunakan sistem pakar sesuai dengan perkembangan. Untuk melakukan proses perubahan tersebut, sistem dilengkapi dengan fasilitas akuisisi pengetahuan. Pakar memiliki kemampuan untuk menganalisa dan meningkatkan kinerja serta kemampuan untuk belajar dari kinerja sebelumnya. Sehingga program akan mampu menganalisa penyebab kesuksesan dan kegagalan yang dialaminya.
2.4 Ciri-ciri dan Kategori Masalah Sistem Pakar
Sistem pakar merupakan program-program praktis yang menggunakan strategi heuristik yang dikembangkan manusia untuk menyelesaikan permasalahan-permasalahan yang khusus, disebabkan oelh keheuristikannya dan sifatnya yang berdasarkan pengetahuan, maka umumnya sistem pakar bersifat :
a. Memiliki informasi yang handal, baik dalam menampilkan langkah-langkah maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian. b. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu
kemampuan dari basis pengetahuannya.
c. Heuristik dalam menggunakan pengetahuan (yang sering tidak sempurna) untuk mendapatkan penyelesaiannya.
d. Dapat digunakan dalam berbagai jenis komputer. e. Memiliki kemampuan beradaptasi.
(25)
Sistem pakar saat ini telah dibuat untuk memecahakan berbagai macam permasalahan dalam berbagai bidang seperti matematika, teknik, kedokteran, kimia, farmasi, komputer, hukum dan lain sebagainya. Secara umum, ada beberapa kategori dan area peramasalahan sistem pakar, yaitu:
1. Interpretasi
Interpetasi merupakan pengambilan keputusan atau deskripsi tingkat tinggi dari sekumpulan data mentah, termasuk di dalamnya juga pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal dan beberapa analisis kecerdasan.
2. Proyeksi
Proyeksi merupakan memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu.
3. Diagnosis
Diagnosis merupakan sebab melfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang didapati, diantaranya medis, elektronis, mekanis dan diagnosis perangkat lunak.
4. Desain
Desain yaitu menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuankinerja tertentu yang memenuhi kendala-kendala tertentu. Diantaranya adalah layout sirkulasi dan perancangan pembangunan.
5. Perencanaan
Perencanaan yaitu merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya perencanaan keuangan, komunikasi, pengembangan produk dan manajemen produk.
(26)
Monitoring yaitu membandingkan tingkah laku suatu sistem yang teramati dengan tingkag laku yang diharapkandarinya, diantaranya Computer Aided Monitoring System.
7. Debugging dan repair
Debugging dan repair yaitu menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi dan memperbaiki kesalahan yang terjadi pada fungsi atau sistem.
8. Instruksi
Intruksi yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek, diantaranya melakukan instruksi untuk diagnosis, debugging dan perbaiakan.
9. Kontrol (Pengendalian)
Pengendalian yaitu mengatur tingkah laku suatu lingkungan yang kompleks seperti kontrol terhadap interpretasi-interpretasi, prediksi, perbaikan dan pengawasan.
10.Seleksi
Seleksi yaitu mengidentifikasi pilihan terbaik dari sekumpulan kemungkinan. 11.Simulasi
Simulasi yaitu pemodelan interaksi antara komponen-komponen sistem.
2.5 Keuntungan Sistem Pakar
Secara garis besar, banyak manfaat atau keuntungan bila menggunakan sistem pakar, antara lain:
1. Menjadikan pengetahuan dan nasihat lebih mudah didapat. 2. Meningkatkan keluaran dan produktivitas.
(27)
3. Menyimpan kemampuan dan keahlian pakar. 4. Memberikan jawaban yang cepat.
5. Dapat bekerja dengan informasi ynag kurang lengkap dan mengandung ketidakpastian.
6. Dapat digunakan untuk mengakses basis data dengan cara cerdas (Kerschberg, 1986)
7. Sistem pakar menyediakan nasihat yang konsisten dan dapat mengurangi tingkat kesalahan.
8. Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai dimana saja.
2.6 Kelemahan Sistem Pakar
Selain memiliki keuntungan-keuntungan seperti yang telah dijelaskan sebelumnya, sistem pakar juga memiliki beberapa kelemahan, antara lain:
1. Untuk membuat sistem pakar yang berkualitas sangatlah sulit dan memerlukan biaya yang besar untuk pengembangan dan pemeliharaannya.
2. Masalah dalam mendapatkan pengetahuan di mana pengetahuan tidak selalu bisa didapatkan dengan mudah, karena kadangkala pakar dari masalah yang kita buat tidak ada, kalaupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda.
3. Sistem pakar tidaklah sepenuhnya menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu, perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini manusia tetap memegang peranan yang paling dominan.
(28)
2.7 Membangun Sistem Pakar
Proses pembangunan suatu sistem pakar dikenal juga sebagai rekayasa pengetahuan. Pembanguna sistem pakar melibatkan pembinaan dasar pengetahuan dengan melibatkan pakar. Pengetahuan dalam pembangunan sistem pakar biasanya dibagi atas fakta dan prosedur. Gambar 2.7.1 menggambarkan sebelum membangun suatu sistem pakar maka sistem analis mengkaji terlebih dahulu domain permasalahan yang akan dibuat.
Sistem Analis
Gambar 2.7.1 Langkah-langkah membangun sistem pakar
2.8 Mengembangkan Sistem Pakar
Pada pengembangan sistem pakar diperlukan beberapa tahapan agar dapat menghasilkan suatu sistem yang berhubungan dengan tahapan hingga suatu sistem terwujud. Tahapan-tahapan tersebut dapat dilihat pada gambar berikut ini:
1 Kajian domain masalahnya 2 Defenisi masalah 3 Jelaskan kumpulan kaidahnya 4 Uji sistem prototipenya 5 Bangun antarmuka 6 Lakukan pengujian ke pengguna 7 Sistem berfungsi dengan baik 8 Penyempurnaan Sistem
(29)
Reformulasi
Kebutuhan Eksplorasi
Pengetahuan Perbaikan
Struktur
Evaluasi
Produk
Gambar 2.8.1 Tahap-tahap pengembangan sistem pakar
2.9 Microsoft Visual Basic 6.0
Bahasa pemrograman yang akan kita gunakan dalam pembuatan aplikasi sistem pakar ini adalah Microsoft Visual Basic 6.0. Microsoft Visual Basic merupakan bahasa pemrograman komputer yang secara cepat dan mudah dapat digunakan untuk membuat aplikasi pada Microsoft Windows. Beberapa keuntungan menggunakan Visual Basic 6.0 dianataranya:
1. Penggunaannya sangat mudah terutama bagi pengguna yang baru mengenal bahasa pemrograman komputer.
Tahap 1: Penilaian keadaan
Tahap 2: Koleksi Pengetahuan
Tahap 3: Perancangan
Tahap 4: Pengujian
Tahap 5: Dokumentasi
(30)
2. Visual Basic dapat menangani bermacam-macam format database seperti format database Microsoft Access, Microsoft excel, FoxPro dan lain sebagainya.
Gambar 2.9.1 Kotak dialog new project pada Visual Basic 6.0
2.9.1 Tampilan (Interface) Visual Basic 6.0
Interface atau dalam beberapa buku dinamakan Integreted Development Environtment (IDE) Visual Baisc 6.0 adalah pusat pengembangan program, karena semua kegiatan pengembangan program berkangsung secara terintegrasi. Berikut ini merupakan tampilan IDE Visual Basic 6.0 :
Gambar 2.9.1.1 Tampilan utama Microsoft Visual Basic 6.0 Visual Basic 6.0 membagi tampilan utamanya menjadi beberapa bagian, yaitu:
(31)
1. Menu Bar
Gambar 2.9.1.2 Menu Bar
Menu Bar digunakan untuk memilih tugas-tugas tertentu seperti menyimpan, membuka project dan lain-lain yang terdiri dari File, Edit, View, Project, Formst, Debug, Run, Query, Diagram, Tools, Add-Ins, Windows Dan Help.
2. Toolbar
Gambar 2.9.1.3 Toolbar
Toolbar digunakan untuk mengakses perintah-perintah dalam menu yang sering dipakai secara cepat.
3. Jendela Project
Menampilkan daftar form dan module yang sedang digunakan pada saat project aktif.
Gambar 2.9.1.4 Jendela project
4. Jendela Form
Jendela form merupakan jendela yang digunakan untuk mendesain tampilan dari aplikasi yang akan dibuat.
(32)
Gambar 2.9.1.5 Jendela form 5. Toolbox
Toolbox merupakan daftar komponen-komponen yang dapat digunakan untuk mendesain tampilan program aplikasi yang akan dibuat. Komponen-komponen toolbox tersebut dapat dilihat pada gambar berikut ini:
Gambar 2.9.1.6 Toolbox
Secara garis besar, fungsi dari masing-masing komponen toolbox tersebut adalah sebagai berikut:
(33)
1. PictureBox merupakan kontrol yang digunakan untuk menampilkan image dengan format bmp, dib, ico, cur, gif, jpg dan lain-lain.
2. TextBox merupakan kontrol yang mengandung string yang dapat diperbaiki oleh pemakai, dapat berupa satu baris tunggal atau banyak.
3. CommandBotton digunakan untuk membuat suatu tombol perintah eksekusi. 4. OptionBotton digunakan sebagai sarana pemilihan terhadap beberapa pilihan
yang hanya dapat dipilih satu.
5. ComboBox adalah kotak yang berisiskan pilihan yang dapat dipilih dan dapat diketik langsung seperti textbox.
6. VScrollBar digunakan untuk membentuk scrollbar sendiri.
7. DriveListBox sering digunakan untuk membentuk dialogbox yang berkaitan dengan file.
8. FileListBox sering digunakan untuk membentuk dialogbox yang berkaitan dengan file.
9. Line digunakan untuk membuat objek berbentuk garis. 10. Data
11. Pointer bukan merupakan sebuah kontrol, tetapi ikon yang digunakan ketika akan memilih kontrol yang sudah berada pada form.
12. Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai.
13. Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol yang lainnya.
14. CheckBox digunakan untuk pilihan yang isinya bernilai yes/no atau true/false. 15. ListBox mengandung sejumlah item dan user dapat memilih lebih dari satu. 16. HScrollBar digunakan untuk membentuk scrollbar sendiri secara horizontal.
(34)
17. Timer digunakan untukm menampilkan waktu dan membuat format waktu dalam program jika dibutuhkan.
18. DirListBox sering digunakan untuk membentuk dialogbox yang berkaitan dengan file.
19. Shape digunakan untuk membuat objek dalam bentuk persegi, bulat dan oval. 20. Image digunakan untuk menampilkan gambar yang digunakan dalam program. 21. OLE digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel,
Word dan lain-lain. 6. Jendela Code
Gambar 2.9.1.7 Jendela code (source code editor)
Jendela code merupakan tempat yang dipergunakan untuk menuliskan barisan program, setiap kontrol dalam form yang memiliki fungsi tertentu. Fungsi tersebut diwujudkan dalam deret perintah, yang kemudian perintah-perintah tersebut dituliskan ke dalam window code editor.
(35)
7. Jendela Properties
Gambar 2.9.1.8 Jendela Properties
Jendela ini digunakan untuk mengatur property dari komponen-komponen yang sedang diaktifkan. Properties merupakan karakteristik dari sebuah objek.
2.9.2 Konsep Dasar Pemrograman Visual Basic 6.0
Konsep dasar pemrograman Visual Basic 6.0 adalah pembuatan form dengan mengikuti aturan pemrograman property, metode dan event.
1. Property adalah karakteristik yang melekat pada sebuah objek yang menunjukkan ciri suatu objek.
2. Metode adalah prosedur yang dikerjakan pada suatu objek. Metode merupakan suatu tindakan dimana objek dapat dibuat.
3. Event berfungsi untuk menunjukkan kejadian yang terjadi pada sebuah objek. Misalnya kejadian ketika command1 diklik dan sebagainya.
(36)
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Tahap analisis sistem merupakan tahap awal yang sangata penting dalam membngun sistem pakar karena hal ini amat sangat berpengaruh pada sistem pakar yang akan dibangun. salah satu cara analisis sistem yang bisa kita lakukan dalam pengembangan sistem pakar adalah dengan menggunakan System Development Life Cycle (Daur Hidup Pengembangan Sistem) yang merupakan langkah untuk menganalisis dan mendesain sistem. Cara ini memiliki tujuh langkah utama, yaitu:
1. Identifikasi masalah, kesempatan dan tujuan
Pada tahap ini kita akan menginventarisasi permasalahan yang ada yang nantinya akan kita sederhanakan, dan akhirnya akan kita cari solusinya lewat sistem yang akan kita buat. Sebagai seorang analis kita dituntut untuk melihat sebuah sistem yang ada secara objektif agar setiap orang yang menggunakan sistem kita tidak mengalami kesulitan dalam menggunakannya.
2. Menentukan kebtuhan informasi
Pada tahap ini seorang analis membutuhkan variable-variabel data yang dibutuhkan sebagai bahan dasar pembuatan sebuah sistem informasi. Ada beberapa cara yang dapat kita lakukan dalam pengumpulan data yang dibutuhkan sistem, antara lain:
a. Interview, yaitu proses pengumpulan data dengan melakukan wawancara/dialog mengenai apa saja yang dibutuhkan oleh seorang analis.
b. Questionnaire, yaitu penyusunan sejumlah pertanyaan mengenai komponen-komponen yang dibutuhkan dalam proses pembuatan program.
(37)
c. Prototyping, yaitu membuat sketsa masalah berupa gambaran umum program yang akan dibangun dari sejumlah data yang berhasil dikumpulkan.
3. Analisis kebutuhan sistem
Pada proses ini seorang analis diharapkan mampu menganalisa data yang telah dikumpulkan sebelumnya. Dengan kata lain, dalam tahap ini diharapkan seorang analis dapat merancang alaur program yang akan dibangun. Selain itu pada tahapan ini seorang analis dapat juga melakukan analisis terhadap biaya alternative yang akan dicapai sistem pasca penggunaan program. Perancangan yang kita lakukan dalam tahap ini berorientasi proses.
4. Model analisis
Model representasi aliran proses sistem yang akan dirancang disajikan dalam Data Flod Diagram (DFD). Pada dasarnya pembuatan DFD ini didasarkan pada penentuan proses yang ada terhadap data yang tersedia. Jadi bentuk DFD ini lebih didasarkan pada gambaran proses secara umum. Notasi yang digunakan adalah sebagai berikut:
Terminator Proses
Storage (Sumber data) Tabel 3.1 Notasi DFD
3.2 Perancangan Sistem 3.2.1 Flowchart sistem
Dalam perancangan aplikasi sistem pakar, basis data atau informasi yang diperoleh dari seorang pakar terlebih dahulu akan diubah ke dalam bentuk diagram flowchart sistem. Hal ini dilakukan untuk menunjukkan alur kerja apa yang akan dikerjakan dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada dalam sistem.
(38)
No
Yes
No Yes
Yes
No Yes
Yes No
Yes No
Yes Yes
No
Yes
No Yes
Yes
Yes No
Gambar 3.2.1 Flowchart Sistem START
Selamat datang
Login Admin
User
Pilih Permasalahan
Pengajuan Pertanyaan
Tampilan Analsis/hasil
Tampilan solusi/alasan Cetak
Penutup
STOP
Input Basis Pengetahuan
(39)
3.2.2 Pengolahan Data (Database)
Dalam perancangan sebuah sistem kebutuhan akan data sangatlah penting, karena dengan data tersebut sebuah sistem bekerja dan dapat dikatakan sebagai sistem yang kompleks. Oleh karena itu dibutuhkan sebuah cara pemrosesan data-data tersebut yang kita kenal dengan sebutan database. Database yang digunakan pada sistem ini adalah Microsoft Access yang perancangan databasenya dirancang menggunakan aplikasi VisData yang telah disediakan oleh Microsof Visual Basic 6.0. Adapun database yang digunakan adalah hukumFiqih.mdb. Jadi semua data yang telah didapat dari hasil pengumpulan data akan diolah malalui database ini. Adapun tabel yang digunakan dalam database ini, antara lain:
a. Tabel User
Nama Field Data Type
Id_user Text
Username Text
password Text
status Text
Tabel 3.2 Tabel user
b. Tabel Pendekatan (pengetahuan)
Nama Field Data Type
Id_pendekatan Text
Petanyaan Text
Fakta Ya Text
Ya
Id_pilihan Text
(40)
c. Tabel Pilihan
Nama Field Data Type
Id_pilihan Text
Pilihan Text
Tabel 3.4 Tabel pilihan
d. Tabel Alasan
Nama Field Data Type
Id_alasan Text
Alasan Text
Tabel 3.5 Tabel alasan
e. Tabel Solusi
Nama Field Data Type
Id_solusi Text
Solusi Text
Tabel 3.6 Tabel solusi
3.2.3 Data Flow Diagram (DFD) Sistem Pakar Penentuan Hukum Fiqih
Data Flow Diagram (DFD) biasanya terdiri dari beberapa level. DFD level 0 atau sering disebut DFD konsep ini terdiri dari dua entitas yaitu Pakar (admin) dan Pengguna (user). Admin akan memberikan input ke sistem berupa pertanyaan-pertanyaan, analisis hasil/jawaban dan solusi atau keputusan akhir. User akan memilih pertanyaan-pertanyaan yang diajukan oleh sistem dan kemudian sistem akan
(41)
memberikan jawaban dari setiap pertanyaan-pertanyaan yang dipilih dan memberikan kesimpulannya.
Login logout
informasi login
hukum fiqih
Gambar 3.2.3.1 DFD level 0 aplikasi penentuan hukum fiqih
Setelah DFD level 0 sudah ada, maka dari level 0 tersebut dapat dikembangkan kembali menjadi DFD level 1. Dan pada perancangan sistem ini penulis hanya membatasi DFD ini sampai level 1 saja. Pada level 1 ini terjadi tiga proses pada masing-masing entitas. Untuk lebih jelasnya akan digambarkan pada gambar berikut ini:
User
Admin Penentuan
Hukum Fiqih
(42)
Login Login simpan
Pertanyaan
Data pertanyaan Data pertanyaan
Jawaban
Data analisis Data analisis
Analisis jawaban
Data keputusan
Gambar 3.2.3.2 DFD level 1 aplikasi penentuan hukum fiqih USER 1.0 Memilih kategori permasalah 1.1 Memilih pertanyaan 1.2 Melihat hasil analisis 1.3 Melihat Keputusan akhir/hasil 1.0 Mengisi nama dan password 1.3 Mengecek database 1.2 Menginput Analisis/pili han 1.1 Menginput pertanyaan ADMIN Admin Kumpulan Pertanyaan Analisa jawaban Analisa solusi Keputusan i n f o r m a s i
(43)
3.3 Spesifikasi Proses
1. Proses Login
Proses 1.0 (administrator) Login
a. Masukan : Administrator (nama, password) dan pengguna langsung menggunakan aplikasi.
b. Proses : Administrator memasukkan nama dan password kemudian ke menu admin.
c. Keluaran : Administrator masuk ke menu admin.
2. Proses Interpretasi
Proses 1.1 (user) pertanyaan
a. Masukkan : Pilihan pengguna.
b. Proses : Pengguna memilih kategori masalah dan sistem akan
memberikan pertanyaan sesuai dengan kategori yang dipilih kemudian pengguna akan menerima jawaban dari pertanyaan yang dipilih beserta analisisnya jika diperlukan.
c. Keluaran : Jawaban pertanyaan yang dipilih oleh pengguna dan
menampilkan analisis jawaban berupa alasan jawaban yang ditampilkan.
(44)
3. Proses Pengetahuan
Proses 1.1 (administrator) input pertanyaan
a. Masukkan : id_pendekatan. Id_pilihan, pertanyaan, fakata ya, ya dan pilihan menu edit.
b. Proses : Administrator memasukkan data masukkan dan kemudian menyimpannya ke database.
c. Keluaran : Semua hasil dari masukkan yang di input tersimpan di database.
4. Proses Hasil Analisis
Proses 1.2
a. Masukkan : Id_solusi, solusi
b. Proses : Administrator memasukkan data masukkan dan kemudian menyimpannya ke database.
c. Keluaran : Data yang diinput akan tersimpan di database.
3.4 Perancangan Antarmuka (Interface)
Perancangan antarmuka ini dirancang sebagai alat komunikasi antara sistem dengan pengguna. Perancangan antarmuka pada sistem pakar penentuan hukum fiqih ini dibedakan atas dua bagian, yaitu:
1. Perancangan antarmuka untuk administrator
Antarmuka ini dirancang untuk memberikan kemudahan kepada administrator untuk melakukan pengolahan data.
(45)
2. Perancangan antarmuka untuk pengguna
Antarmuka ini dirancang untuk menentukan hukum fiqih dari sebuah masalah yang dipilih oleh pengguna untuk mendapatkan hasil berupa kesimpulan dari masalah yang dipilih.
3.4.1 Rancangan form selamat datang
a. v Proses : Administrator memasukkan nama dan password kemudian
Gambar 3.4.1 Rancangan form selamat datang
3.4.2 Rancangan form login
Gambar 3.4.2 Rancangan form login
JUDUL
Login
About Me Menu
Text Judul
Frame login
Gambar
Level Username
Password
Keluar Masuk
(46)
2.4.3 Rancangan form admin
Gambar 2.4.3 Rancangan form admin
2.4.4 Rancangan form tambah pilihan
Gambar 2.4.4 Rancangan form tambah pilihan
Simpan Tambah Ubah Batal Hapus Keluar
Id_pendekatan
Edit juga Id_pilihan
Pertanyaan
Fakta Ya
Jika Ya
Tabel Pendekatan
Simpan Tambah Ubah Batal Hapus Keluar
Id_pilihan Pilihan
(47)
2.4.5 Rancangan form tambah solusi
Gambar 2.4.5 Rancangan form tambah solusi
2.4.6 Rancangan form pilih kategori permasalahan
Gambar 2.4.6 Rancangan form pilih kategori permasalahan
2.4.7 Rancangan form pilih pertanyaan
2.4.7 Rancangan form pilih pertanyaan
Simpan Tambah Ubah Batal Hapus Keluar
Id_solusi Solusi Tabel Solusi
Pilih kategori permasalahan
Pilih Batal Keluar
Pilih pertanyaan
Tampilan pertanyaan
(48)
2.4.8 Rancangan form hasil pendekatan
Gambar 2.4.8 Rancangan form hasil pendekatan
2.4.9 Rancangan form dasar kesimpulan
Gambar 2.4.9 Rancangan form dasar kesimpulan Hasil Pendekatan
Alasan Ulangi Keluar
Dasar Kesimpulan
(49)
2.4.10 Rancangan form tentang pembuat
Gambar 2.4.10 Rancangan form tentang pembuat
2.4.11 Rancangan form tentang program
Gambar 2.4.11 Rancangan form tentang program Gambar
Label Penjelasan pembuat
Keluar
Label penjelassan program
(50)
BAB 4
IMPLEMENTASI SISTEM
4.1 Menu Selamat Datang
Menu selamat datang merupakan bagian pertama dari form ini dan sebagai pintu utama ke bagian-bagian berikutnya. Di dalam form ini terdapat menu sistem, data dan tentang. Menu sistem berisi menu log-off dan keluar sistem. Menu data berisi menu edit data yang berfungsi untuk merobah data pada sistem. Dan menu tentang berisi menu program ini yang berfungsi menampilkan penjelsasan aplikasi ini dan menu pembuat yang berfungsi menampilkan sekilas tentang pembuat sistem. Selain menu-menu tersebut dalam form ini juga terdapat tombol login yang digunakan untuk menuju ke menu login dan about me yang menampilkan sekilas tentang pembuat program.
(51)
4.2 Menu Login
Menu login merupakan pintu masuk user yang bertindak sebagai administrator atau pengguna biasa. Jika usernya adalah administrator maka administrator harus mengisi kotak username dan password untuk dapat menggunakan aplikasi ini yaitu merobah data sistem. Dan jika usernya adalah pengguna biasa maka pengguna dapat menggunakan langsung aplikasi ini.
Gambar 4.2 Menu login
4.3 Menu Admin
Setelah melakukan login pada menu sebelumnya, administrator akan masuk ke menu admin ini untuk melakukan proses pengolahan data seperti penyimpanan data baru, penghapusan, pengobahanndan penambahan data.
(52)
Gambar 4.3 Menu admin
4.4 Menu Tambah Kategori Pilihan
Menu ini merupakan menu yang hanya dapat diakses oleh administrator untuk melakukan penambahan kategori masalah yang akan digunakan oleh pengguna. Pada menu ini administrator dapat melakukan penambahan kategori pilihan.
(53)
4.5 Menu Kategori Tambah Solusi
Menu ini hampir sama dengan menu sebelumnya yaitu menu yang hanya dapat diakses oleh administrator untuk melakukan pengolahan data seperti penambahan solusi dan proses pengolahan data lainnya.
Gambar 4.5 Menu kategori tambah solusi
4.6 Menu Pemilihan Kategori
Setelah user melakukan login dengan username pengguna pada menu sebelumnya, maka user tersebut akan langsung masuk ke menu ini tanpa melakukan proses input data username dan password terlebih dahulu. Menu ini dibuat agar pengguna dapat memilih kategori permasalan yang ingin diselesaikan.
(54)
Gambar 4.6 Menu pemilihan kategori
4.7 Menu Pendekatan Masalah
Setelah pengguna memilih kategori permasalahan pada menu sebelumnya, maka pengguna akan masuk ke menu pendekatan masalah. Menu pendekatan masalah ini dirancang agar setelah melakukan pemilihan permasalan pengguna dapat memilih pertanyaan-pertanyaan yang disediakan oleh sistem sesuai dengan kategori permasalahan yang telah dipilih.
(55)
4.8 Menu Hasil Pendekatan
Menu ini merupakan menu yang akan menampilkan hasil atau jawaban ataupun kesimpulan dari pertanyaan-pertanyaan yang telah dipilih oleh pengguna pada menu sebelumnya sesuai dengan kategori permasalahan yang telah dipilih. Pada menu ini pengguna akan menemukan jawaban dari pertanyaan-pertanyaan yang telah dipilih pada menu sebelumnya. Dalam menu ini terdapat beberapa tombol seperti tombol alasan, ulangi dan selesai. Tombol alasan digunakan untuk menampilkan alasan dari jawaban yang telah ditampilkan, tombol ulangi digunakan untuk mengulang kembali ke menu sebelumnya dan tombol selesai digunakan untuk keluar dari menu ini.
Gambar 4.8 Menu hasil pendekatan
4.9 Menu Dasar Kesimpulan
Menu ini merupakan menu yang dirancang untuk menampilkan dasar atau landasan dari kesimpulan yang diberikan dan sebagai penguat kesimpulan yang telah diberikan kepada pengguna.
(56)
Gambar 4.9 Menu dasar kesimpulan
4.10 Menu Tentang Pembuat
(57)
4.11 Menu Tentang Program
(58)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah penyelesain tugas akhir ini, penulis dapat mengambil beberapa kesimpulan, yaitu:
1. Membutuhkan sumber pengetahuan yang sesuai dengan pakar yang dibutuhkan.
2. Membutuhkan banyak data dan informasi dalam pembuatan aplikasi ini. 3. Diperlukan ketelitian dan kesabaran dalam menyusun kode program.
4. Memahami dengan benar target pengguna aplikasi yang akan dibangun sehingga tidak kesulitan dalam perancangan antarmuka.
5.2 Saran
Walaupun penulis sudah berusaha sebaik mungkin dalam penyelesaian tugas ini, penulis menyadari masih terdapat banyak kekurangan di dalamnya. Untuk mengembangkan dan meningkatkan prinsip kerja aplikasi ini, maka ada beberapa saran yang perlu disampaikan penulis, antara lain:
1. dalam pembangunan sistem pakar, dibutuhkan arahan dan bantuan dari orang yang berpengalaman dalam suatu bidang tertentu.
2. Meningkatkan kemampuan dalam membuat interface yang menarik dan waktu yang cukup untuk membangun sistem pakar ini.
3. Penulis mengaharapkan sistem ini dapat dikembangkan untuk mencapai fungsi yang maksimal dan menambahkan keterangan-keterangan yang mempermudah pengguna dalam menggunakan aplikasi ini serta menambahkan
(59)
perintah-perintah atau pertanyaan-pertanyaan yang perlu dan aplikasi ini masih bersifat manual.
4. Aplikasi ini dapat dikembangkan dengan mengoneksikannya dengan internet. 5. Pada proses pendekatan masalah aplikasi ini masi manual dalam memberikan
pertanyaan-pertanyaan pendekatannya. Oleh karena itu diharapkan dapat secara otomatis dilakukan oleh pengguna dalam memberikan pertanyaan kepada sistem dan kemudian sistem dapat memberika keputusannya.
(60)
DAFTAR PUSTAKA
1. Karuniawan, Bagus. 2002. Sistem Informasi Manajemen dengan Visual Basic 6.0. Malang: ANDI.
2. Desiani, Anita, dan Muhammad Arhami,. 2006. Konsep Dasar Kecerdasan Buatan. Yogyakarta: ANDI.
3. Hartati, Sri, dan Sari Iswanti. 2008. Sistem Pakar dan Pengembangannya. Yogyakarta:Graha Ilmu.
4. Tim Peneliti dan Pengembangan MADCOMS. 3003. Aplikasi Database dan Crystal Report pada Visual basic 6.0. Yogyakarta: ANDI.
5. Putra, Indra.2004. Visual Basic 6.0. Batam: ANDI
6. Syarifuddin, Amir.2010. Garis-Garis Besar Fiqih. Jakarta: Kencana 7. Kamal, Abu Malik. 2008. Shahih Fiqih Sunnah. Jakarta: Pustaka Adzkia
(61)
LAMPIRAN
LIST PROGRAM
1. Modules
Public conn As New ADODB.Connection Public rstb_pendekatan As ADODB.Recordset Public rstb_solusi As ADODB.Recordset Public rstb_alasan As ADODB.Recordset Public rstb_pilihan As ADODB.Recordset Public rstb_user As ADODB.Recordset Public Sub konek_db()
On Error GoTo konekErr
If conn.State = 1 Then conn.close Set conn = New ADODB.Connection
Set rstb_pendekatan = New ADODB.Recordset Set rstb_solusi = New ADODB.Recordset Set rstb_alasan = New ADODB.Recordset Set rstb_piliham = New ADODB.Recordset Set rstb_user = New ADODB.Recordset
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\hukumFiqih.mdb;Persist Security Info=False"
Exit Sub konekErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Public Sub diskonek_db() conn.close
End Sub
(62)
Public baru As Boolean
Dim rsPilih As ADODB.Recordset
Private Sub cboedit_Click() If cboedit.Text = "Pilihan" Then frmTambahPilihan.Show vbModal Else
frmSolusi.Show vbModal End If
Me.Hide End Sub
Private Sub cmdBatal_Click() KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel KosongkanForm
End Sub
Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If
Exit Sub
hapusErr:
(63)
End Sub
Private Sub cmdKeluar_Click() Me.Hide
End Sub
Private Sub cmdRefresh_Click() DataGrid1.Refresh
End Sub
Private Sub cmdSimpan_Click() konek_db
On Error GoTo simpanErr
Dim rsCek As ADODB.Recordset
If txtidpendekatan.Text = "" Or txtidpilihan.Text = "" Or txtpertanyaan.Text = "" Then MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"
txtidpendekatan.SetFocus Else
Set rsCek = New ADODB.Recordset
rsCek.Open "select * from tb_pendekatan where Id_pendekatan='" & txtidpendekatan.Text & "'", conn, 1, 2
If Not rsCek.EOF And baru Then
MsgBox "Data dengan kode " & txtidpendekatan.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"
txtidpendekatan.SetFocus: SendKeys "{HOME}+{END}" Else
With Adodc1.Recordset
Set rstb_pendekatan = New ADODB.Recordset
rstb_pendekatan.Open "insert into tb_pendekatan values ('" & txtidpendekatan.Text & "', '" & txtpertanyaan.Text & "', '" & txtfYa.Text & "', '" & cboYa.Text & "', '" & txtidpilihan.Text & "')", conn, 1, 2
(64)
.Update
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True
tombolAwal True KosongkanForm End With
End If End If Exit Sub diskonek_db simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub cmdTambah_Click() baru = True
KunciTeks False tombolAwal False
txtidpendekatan.SetFocus End Sub
Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub
Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False
(65)
tombolAwal False
With Adodc1.Recordset
Set rstb_pendekatan = New ADODB.Recordset
rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2
txtidpendekatan.Text = rstb_pendekatan!Id_pendekatan txtidpilihan.Text = rstb_pendekatan!Id_pilihan
txtpertanyaan.Text = rstb_pendekatan!pertanyaan txtfYa.Text = rstb_pendekatan!FaktaYa
cboYa.Text = rstb_pendekatan!Ya
End With
txtidpendekatan.SetFocus
baru = False Exit Sub
ubahErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub form_load() KunciTeks True
tombolAwal True
Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_pendekatan" 'Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 400 cboedit.AddItem "Solusi"
cboedit.AddItem "Pilihan" End Sub
(66)
Sub KosongkanForm() txtidpendekatan.Text = " " txtidpilihan.Text = Empty txtpertanyaan.Text = Empty txtfYa.Text = Empty
cboYa.Text = Empty End Sub
Sub KunciTeks(kunci As Boolean) txtidpendekatan.Locked = kunci txtpertanyaan.Locked = kunci txtfYa.Locked = kunci
cboYa.Locked = kunci End Sub
3. Form Alasan
Private Sub Command1_Click() End
End Sub
Sub tampil() konek_db
LabelAlas.Caption = ""
Set rstb_alasan = New ADODB.Recordset
rstb_alasan.Open "select *from tb_alasan", conn, 1, 2 rstb_alasan.MoveFirst
Select Case frmPilihan.cboPilih.ListIndex Case 0
rstb_alasan.Find "Id_alasan='A1'" LabelAlas.Caption = rstb_alasan!alasan Case 1
(67)
rstb_alasan.Find "Id_alasan='A2'" LabelAlas.Caption = rstb_alasan!alasan Case 2
rstb_alasan.Find "Id_alasan='A3'" LabelAlas.Caption = rstb_alasan!alasan Case 3
rstb_alasan.Find "Id_alasan='A4'" LabelAlas.Caption = rstb_alasan!alasan Case 4
rstb_alasan.Find "Id_alasan='A5'" LabelAlas.Caption = rstb_alasan!alasan Case 5
rstb_alasan.Find "Id_alasan='A6'" LabelAlas.Caption = rstb_alasan!alasan Case 6
rstb_alasan.Find "Id_alasan='A7'" LabelAlas.Caption = rstb_alasan!alasan Case 7
rstb_alasan.Find "Id_alasan='A8'" LabelAlas.Caption = rstb_alasan!alasan End Select
End Sub
Private Sub form_load() tampil
End Sub
4. Form Hasil Pendekatan
Private Sub cmdAlasan_Click() frmAlasan.Show vbModal End Sub
(68)
Me.Hide
frmPendekatan.Hide frmPilihan.Hide End Sub
Private Sub form_load() tampil
End Sub
Sub tampil() konek_db
Set rstb_pendekatan = New ADODB.Recordset
rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2
rstb_pendekatan.MoveFirst
Select Case frmPilihan.cboPilih.ListIndex Case 0
rstb_pendekatan.Find "Id_pendekatan='PD1'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 1
rstb_pendekatan.Find "Id_pendekatan='PD4'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 2
rstb_pendekatan.Find "Id_pendekatan='PD7'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 3
rstb_pendekatan.Find "Id_pendekatan='PD10'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 4
rstb_pendekatan.Find "Id_pendekatan='PD13'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 5
(69)
Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 6
rstb_pendekatan.Find "Id_pendekatan='PD15'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 7
rstb_pendekatan.Find "Id_pendekatan='PD18'" Labelhasil.Caption = rstb_pendekatan!FaktaYa End Select
rstb_pendekatan.close diskonek_db
End Sub
5. Form Login
Private Sub cmdKeluar_Click() Unload Me
End Sub
Private Sub cmdMasuk_Click() On Error GoTo login_err
If cboLevel.Text = "Pengguna" Then txtUser = "Pengguna"
frmPilihan.Show vbModal Unload Me
Exit Sub Else
Set rstb_user = New ADODB.Recordset
rstb_user.Open "select *from tb_user where " & "username='" & txtUser.Text & "' and " & "password='" & txtPass.Text & "'", conn, 1, 2
If Not rstb_user.EOF Then MsgBox "login berhasil" frmAdmin.Show vbModal Unload Me
(70)
MsgBox "login gagal" End If
rstb_user.close End If
login_err:
MsgBox Err.Description End Sub
Private Sub form_load()
cboLevel.AddItem "Administrator" cboLevel.AddItem "Pengguna" End Sub
6. Form Me
Private Sub Command1_Click() Unload Me
End Sub
7. Form Pendekatan
Private Sub cmdSelesai_Click() Unload Me
End Sub
Private Sub cmdYa_Click() On Error Resume Next
Set rstb_pertanyaan = New ADODB.Recordset If cbopilihpertanyaan = "" Then
MsgBox "Maaf, Anda harus memilih kategori Permasalahan", vbOKCancel, "Peringatan"
Else
cbopilihpertanyaan.Text = rstb_pertanyaan Set rstb_alasan = New ADODB.Recordset rstb_alasan.AddNew
(71)
rstb_alasan!id_alasan = rstb_pendekatan!Id_pendekatan rstb_alasan!alasan = rstb_pendekatan!FaktaYa
rstb_pendekatan.Update jwb = rstb_pendekatan!Ya If Left(jwb, 1) = "T" Then rstb_pendekatan.MoveFirst
rstb_pendekatan.Find " Id_pendekatan= '" & jwb & "' " Label1.Caption = rstb_pendekatan!pertanyaan
Else
rstb_solusi.MoveFirst
rstb_solusi.Find " Id_solusi= '" & jwb & "' "
frmHasilPendekatan.Label1.Caption = rstb_solusi!solusi frmHasilPendekatan.Show vbModal
End If End If End Sub
Private Sub Label1_Click()
Label1.Caption = cbopilihpertanyaan.Text End Sub
Private Sub cmdTidak_Click() Label1.Caption = ""
cbopilihpertanyaan.Text = "" cbopilihpertanyaan.SetFocus End Sub
Private Sub form_load() tampil
End Sub
Sub tampil() konek_db
(72)
cbopilihpertanyaan.Clear
Set rstb_pendekatan = New ADODB.Recordset
rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2 rstb_pendekatan.MoveFirst
Select Case frmPilihan.cboPilih.ListIndex Case 0
rstb_pendekatan.Find "Id_pendekatan='PD1'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 1
rstb_pendekatan.Find "Id_pendekatan='PD4'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 2
rstb_pendekatan.Find "Id_pendekatan='PD8'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 3
rstb_pendekatan.Find "Id_pendekatan='PD12'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 4
rstb_pendekatan.Find "Id_pendekatan='PD13'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 5
rstb_pendekatan.Find "Id_pendekatan='PD14'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 6
rstb_pendekatan.Find "Id_pendekatan='PD15'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 7
rstb_pendekatan.Find "Id_pendekatan='PD18'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan End Select
(73)
diskonek_db End Sub
8. Form Pilihan
Private Sub cmdPilih_Click() If cboPilih.Text = " " Then
MsgBox "Pilihan Kategori permasalahan tidak boleh kosong.", vbCritical + vbOKOnly, "Peringatan"
Else
frmPendekatan.Show vbModal End If
End Sub
Sub tampil() konek_db
Dim i As Integer i = 0
cboPilih.Clear
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2 rstb_pilihan.MoveFirst
While Not rstb_pilihan.EOF
cboPilih.AddItem rstb_pilihan!pilihan, i i = i + 1
rstb_pilihan.MoveNext Wend
diskonek_db
cmdPilih.Enabled = True End Sub
Private Sub form_load() tampil
(74)
Private Sub Command2_Click() cboPilih.Text = " "
cboPilih.SetFocus End Sub
Private Sub Command3_Click() Unload Me
End Sub
9. Form ProgramIni
Private Sub Command1_Click() Unload Me
End Sub
10.Form Solusi
Public baru As Boolean
Dim rsPilih As ADODB.Recordset Private Sub cmdBatal_Click() KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel KosongkanForm
End Sub
Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If
(75)
Exit Sub
hapusErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub cmdKeluar_Click() Me.Hide
End Sub
Private Sub cmdSimpan_Click() konek_db
On Error GoTo simpanErr
Dim rsCek As ADODB.Recordset
If txtIDSolusi.Text = "" Or txtSolusi.Text = "" Then
MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"
txtIDSolusi.SetFocus Else
Set rsCek = New ADODB.Recordset
rsCek.Open "select * from tb_solusi where Id_solusi='" & txtIDSolusi.Text & "'", conn, 1, 2
If Not rsCek.EOF And baru Then
MsgBox "Solusi dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"
txtIDSolusi.SetFocus: SendKeys "{HOME}+{END}" Else
With Adodc1.Recordset
Set rstb_solusi = New ADODB.Recordset
rstb_solusi.Open "insert into tb_solusi values ('" & txtIDSolusi.Text & "', '" & txtSolusi.Text & "')", conn, 1, 2
If rstb_solusi.BOF Then .AddNew .Update
(76)
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True
tombolAwal True KosongkanForm End With
End If End If Exit Sub diskonek_db simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub cmdTambah_Click() baru = True
KunciTeks False tombolAwal False txtIDSolusi.SetFocus End Sub
Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub
Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False
(77)
With Adodc1.Recordset
Set rstb_solusi = New ADODB.Recordset
rstb_solusi.Open "select *from tb_solusi", conn, 1, 2 txtIDSolusi.Text = rstb_solusi!Id_solusi
txtSolusi.Text = rstb_solusi!solusi End With
txtIDSolusi.SetFocus baru = False
Exit Sub
ubahErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub form_load() KunciTeks True
tombolAwal True
Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_solusi" Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).Width = 400 End Sub
Sub KosongkanForm() txtIDSolusi.Text = " " txtSolusi.Text = "" End Sub
Sub KunciTeks(kunci As Boolean) txtIDSolusi.Locked = kunci
txtSolusi.Locked = kunci End Sub
(78)
11.Form Tambah Pilihan
Public baru As Boolean
Dim rsPilih As ADODB.Recordset Private Sub cmdBatal_Click() KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel KosongkanForm
End Sub
Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If
Exit Sub hapusErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub cmdKeluar_Click() Me.Hide
End Sub
Private Sub cmdSimpan_Click() konek_db
On Error GoTo simpanErr
(79)
If txtIDpilihan.Text = "" Or txtPilihan.Text = "" Then
MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"
txtIDpilihan.SetFocus Else
Set rsCek = New ADODB.Recordset
rsCek.Open "select * from tb_pilihan where Id_pilihan='" & txtIDpilihan.Text & "'", conn, 1, 2
If Not rsCek.EOF And baru Then
MsgBox "Data dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"
txtIDpilihan.SetFocus: SendKeys "{HOME}+{END}" Else
With Adodc1.Recordset
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "insert into tb_pilihan values ('" & txtIDpilihan.Text & "', '" & txtPilihan.Text & "')", conn, 1, 2
If rstb_pilihan.BOF Then .AddNew .Update
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True
tombolAwal True KosongkanForm End With
End If End If Exit Sub diskonek_db simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
(80)
Private Sub cmdTambah_Click() baru = True
KunciTeks False tombolAwal False txtIDpilihan.SetFocus End Sub
Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub
Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False
tombolAwal False
With Adodc1.Recordset
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2
txtIDpilihan.Text = rstb_pilihan!Id_pilihan txtPilihan.Text = rstb_pilihan!pilihan End With
txtIDpilihan.SetFocus baru = False
Exit Sub ubahErr:
(81)
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub form_load() KunciTeks True
tombolAwal True
Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_pilihan" Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).Width = 400 End Sub
Sub KosongkanForm() txtIDpilihan.Text = " " txtPilihan.Text = "" End Sub
Sub KunciTeks(kunci As Boolean) txtIDpilihan.Locked = kunci txtPilihan.Locked = kunci End Sub
12.Form Utama
Private Sub close_Click() Dim pesan
pesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pesan = vbYes Then Unload Me
End If End Sub
(82)
Private Sub cmdLogin_Click() Dim pesan
pesan = MsgBox("Selamat Datang, Silakan Login", vbYes, "Konfirmasi") frmLogin.Show vbModal
End Sub
Private Sub cmdMe_Click() frmMe.Show vbModal End Sub
Private Sub edda_Click() frmLogin.Show vbModal End Sub
Private Sub form_load() konek_db
End Sub
Private Sub form_activate() Call form_load
End Sub
Private Sub Form_Unload(Cancel As Integer) diskonek_db
Unload Me End
End Sub
Private Sub mati_Click() Dim pesan
pesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pesan = vbYes Then frmLogin.Show Me.Hide
(83)
End Sub
Private Sub me_Click()
frmProgramIni.Show vbModal End Sub
Private Sub saya_Click() frmMe.Show vbModal End Sub
(1)
11.Form Tambah Pilihan Public baru As Boolean
Dim rsPilih As ADODB.Recordset Private Sub cmdBatal_Click() KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel KosongkanForm
End Sub
Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If
Exit Sub hapusErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub cmdKeluar_Click() Me.Hide
End Sub
Private Sub cmdSimpan_Click() konek_db
(2)
If txtIDpilihan.Text = "" Or txtPilihan.Text = "" Then
MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"
txtIDpilihan.SetFocus Else
Set rsCek = New ADODB.Recordset
rsCek.Open "select * from tb_pilihan where Id_pilihan='" & txtIDpilihan.Text & "'", conn, 1, 2
If Not rsCek.EOF And baru Then
MsgBox "Data dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"
txtIDpilihan.SetFocus: SendKeys "{HOME}+{END}" Else
With Adodc1.Recordset
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "insert into tb_pilihan values ('" & txtIDpilihan.Text & "', '" & txtPilihan.Text & "')", conn, 1, 2
If rstb_pilihan.BOF Then .AddNew .Update
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True
tombolAwal True KosongkanForm End With
End If End If Exit Sub diskonek_db simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
(3)
Private Sub cmdTambah_Click() baru = True
KunciTeks False tombolAwal False txtIDpilihan.SetFocus End Sub
Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub
Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False
tombolAwal False
With Adodc1.Recordset
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2
txtIDpilihan.Text = rstb_pilihan!Id_pilihan txtPilihan.Text = rstb_pilihan!pilihan End With
txtIDpilihan.SetFocus baru = False
(4)
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub
Private Sub form_load() KunciTeks True
tombolAwal True
Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_pilihan" Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).Width = 400 End Sub
Sub KosongkanForm() txtIDpilihan.Text = " " txtPilihan.Text = "" End Sub
Sub KunciTeks(kunci As Boolean) txtIDpilihan.Locked = kunci txtPilihan.Locked = kunci End Sub
12.Form Utama
Private Sub close_Click() Dim pesan
pesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pesan = vbYes Then Unload Me
End If End Sub
(5)
Private Sub cmdLogin_Click() Dim pesan
pesan = MsgBox("Selamat Datang, Silakan Login", vbYes, "Konfirmasi") frmLogin.Show vbModal
End Sub
Private Sub cmdMe_Click() frmMe.Show vbModal End Sub
Private Sub edda_Click() frmLogin.Show vbModal End Sub
Private Sub form_load() konek_db
End Sub
Private Sub form_activate() Call form_load
End Sub
Private Sub Form_Unload(Cancel As Integer) diskonek_db
Unload Me End
End Sub
Private Sub mati_Click() Dim pesan
pesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")
If pesan = vbYes Then frmLogin.Show Me.Hide
(6)
End Sub
Private Sub me_Click()
frmProgramIni.Show vbModal End Sub
Private Sub saya_Click() frmMe.Show vbModal End Sub