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
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
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
DAFTAR ISI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Fakta dan Aturan
Knowledge Engineer
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
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,
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
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
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.
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.
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.
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
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
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
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
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
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
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.
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
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.
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.
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
Gambar 3.2.1 Flowchart Sistem START
Tampilan solusi/alasan Cetak
Penutup
STOP
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
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
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
Login Login
simpan
Pertanyaan
Data pertanyaan Data pertanyaan
Jawaban
Data analisis Data analisis
Analisis jawaban
Data keputusan
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
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
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
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
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
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
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
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.
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,
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.
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
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.
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
Gambar 4.9 Menu dasar kesimpulan
4.10 Menu Tentang Pembuat
4.11 Menu Tentang Program
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
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
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
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
Public baru As Boolean
Dim rsPilih As ADODB.Recordset
Private Sub cboedit_Click()
If cboedit.Text = "Pilihan" Then
frmTambahPilihan.Show vbModal
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:
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
.Update
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi"
KunciTeks True
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
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"
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
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
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
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
MsgBox "login gagal"
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!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()