• Tidak ada hasil yang ditemukan

Aplikasi Sistem Pakar Penentuan Hukum Fiqih Menggunakan Visual Basic 6.0

N/A
N/A
Protected

Academic year: 2016

Membagikan "Aplikasi Sistem Pakar Penentuan Hukum Fiqih Menggunakan Visual Basic 6.0"

Copied!
83
0
0

Teks penuh

(1)

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

(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

(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

(4)

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

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

(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,

(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

(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

(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.

(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.

(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

(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

(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

(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

(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

(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.

(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

(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.

(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.

(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

(38)

Gambar 3.2.1 Flowchart Sistem START

Tampilan solusi/alasan Cetak

Penutup

STOP

(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

(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

(42)

Login Login

simpan

Pertanyaan

Data pertanyaan Data pertanyaan

Jawaban

Data analisis Data analisis

Analisis jawaban

Data keputusan

(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

(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

(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

(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,

(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

(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

(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

(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

(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

(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

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

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

(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"

(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

(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"

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

(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()

Gambar

Gambar 2.9.1 Kotak dialog new project pada Visual Basic 6.0
Gambar 2.9.1.4 Jendela project
Gambar 2.9.1.6 Toolbox
Gambar 2.9.1.7 Jendela code (source code editor)
+7

Referensi

Dokumen terkait

Secara umum perancangan sistem ini adalah untuk membuat sebuah software aplikasi istilah kimia digital menggunakan Microsoft Visual Basic 6.0 atau lebih sering disingkat

Sistem komunikasi antara aplikasi tampilan PC Master Control laboratorium bahasa menggunakan Microsof Visual Basic 2010 dengan mikrokontroler bisa dilakukan dengan

Secara umum, perancangan sistem ini digunakan untuk membuat sebuah Aplikasi Perhitungan Kelayakan Usaha menggunakan Microsoft Visual Basic 6.0 atau yang lebih dikenal

Microsoft Visual basic 6.0 merupakan bahasa pemrograman yang digunakan untuk membuat suatu aplikasi maupun suatu sistem informasi dalam Microsoft Windows dengan

Seri Panduan Pemrograman Microsoft Visual Basic 6.0.. Aplikasi Basis Data dengan Visual Basic

Komponen Toolbox adalah kumpulan kontrol pada Microsoft Visual Basic 6.0, yang.. dibutuhkan untuk melengkapi dan membentuk suatu program aplikasi yang

Bahasa pemrograman yang tersedia di dalam Access adalah Microsoft Visual Basic for Applications (VBA), seperti halnya dalam beberapa aplikasi Microsoft Office..

Contoh Program Skripsi: Sistem Informasi Manajemen Data Siswa : Aplikasi ini dibuat dengan Visual Basic 6.0 dan