Anda di halaman 1dari 83

APLIKASI SISTEM PAKAR PENENTUAN HUKUM FIQIH

MENGGUNAKAN VISUAL BASIC 6.0

TUGAS AKHIR

WAHYU RAMADHAN
092406057

PROGRAM STUDI D3 TEKNIK INFORMATIKA


DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2012

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
MEDAN
2012

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
fiqih dari masalah yang sedang atau telah dialami.

Universitas Sumatera Utara


DAFTAR ISI

Halaman
Abstrak i
Daftar Isi ii

BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Maksud dan Tujuan 3
1.5 Metode Pengumpulan Data 3
1.6 Sistematika Penulisan 5

BAB 2 LANDASAN TEORI


2.1 Pengertian Sistem Pakar 6
2.2 Konsep Umum Sistem Pakar 10
2.3 Struktur Sistem Pakar 12
2.3.1 Antarmuka Pengguna (user interface) 13
2.3.2 Basis Pengetahuan 14
2.3.3 Akuisisi Pengetahuan 14
2.3.4 Mesin Inferensi 16
2.3.5 Workplace 17
2.3.6 Fasilitas Penjelasan 18
2.3.7 Perbaikan Pengetahuan 18
2.4 Ciri-ciri dan Kategori Masalah Sistem Pakar 18
2.5 Keuntungan Sistem Pakar 21
2.6 Kelemahan Sistem Pakar 21
2.7 Membangun Sistem Pakar 22
2.8 Mengembangkan Sistem Pakar 23
2.9 Microsoft Visual Basic 6.0 23
2.9.1 Tampilan (interface) Visual Basic 6.0 25
2.9.2 Konsep Dasar Pemrograman Visual Basic 6.0 30

BAB 3 ANALISIS DAN PERANCANGAN SISTEM


3.1 Analisis Sistem 31
3.2 Perancangan Sistem 32
3.2.1 Flowchart sistem 32
3.2.2 Pengolahan Data (database) 34
3.2.3 Data Flow Diagram (DFD) Sistem Pakar 35
Penentuan Hukum Fiqih
3.3 Spesifikasi Proses 38
3.4 Perancangan Antarmuka (interface) 39
3.4.1 Rancangan form selamat datang 40
3.4.2 Rancangan form login 40
3.4.3 Rancangan form admin 41
3.4.4 Rancangan form tambah pilihan 41
3.4.5 Rancangan form tambah solusi 42

Universitas Sumatera Utara


3.4.6 Rancangan form pilih kategori permasalahan 42
3.4.7 Rancangan form tambah pertanyaan 42
3.4.8 Rancangan form hasil pendekatan 43
3.4.9 Rancangan form dasar kesimpulan 43
3.4.10 Rancangan form tentang pembuat 44
3.4.11 Rancangan form tentang program 44

BAB 4 IMPLEMENTASI SISTEM


4.1 Menu Selamat Datang 45
4.2 Menu Login 46
4.3 Menu Admin 46
4.4 Menu Tambah Kategori Pilihan 47
4.5 Menu Tambah Solusi 48
4.6 Menu Pemilihan Kategori 48
4.7 Menu Pendekatan Masalah 49
4.8 Menu Hasil Pendekatan 50
4.9 Menu Dasar Kesimpulan 50
4.10 Menu Tentang Pembuat 51
4.11 Menu Tentang Program 52

BAB 5 KESIMPULAN DAN SARAN


5.1 Kesimpulan 53
5.2 Saran 53

DAFTAR PUSTAKA

LAMPIRAN PROGRAM

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
fiqih dari masalah yang sedang atau telah dialami.

Universitas Sumatera Utara


BAB 1

PENDAHULUAN

1.1 Latar Belakang

Dengan perkembangan teknologi yang semakin canggih saat ini menyebabkan


tuntutan yang mengharapkan kemudahanan dan keefektifan dalam menyelesaikan
suatu pekerjaan. Dengan kebutuhan masyarakat akan teknologi, khususnya komputer,
yang semakin meningkat, mendorong para ahli di bidang komputer untuk
menciptakan aplikasi ataupun perangkat lunak yang mudah digunakan. Ditambah lagi
dengan sifat masyarakat yang saat ini menginginkan semua hal dapat diselesaikan
dengan cepat dan mudah. Salah satunya dalam menentukan hukum Fiqih dari sebuah
perkara.

Banyak masyarakat Muslim hari ini yang sudah tidak peduli lagi dengan baik
buruknya suatu amalan yang mereka lakukan ditambah lagi mereka sudah tidak peduli
dengan halal atau haramkah amalam tersebut. Yang menyebabkan mereka akan
melakukan berbagai cara untuk mencapai tujuannya masing-masing tanpa memikirkan
baik atau buruknya cara tersebut. Selain itu, kita mengetahui bahwa dalam penentuan
hukum fiqih dari suatu perkara kita harus datang dan bertanya langsung kepada
seorang pakar dalam bidangnya yaitu ahli hukum Fiqih dan kemudian pakar tersebut
akan memberikan penjelasan serta memberikan kesimpulan dari perkara tersebut.
Tentu cara ini masih memerlukan banyak waktu dan banyak masyarakat yang enggan
melakukannya.

Sebagai upaya untuk mengatasi hal tersebut maka kami berusaha merancang
sebuah aplikasi untuk menentukan hukum fiqih dari suatu perkara dengan
menggunakan bahasa pemrograman berorientasi objek. Aplikasi ini diharapkan dapat
mempermudah pengguna untuk mengetahui hukum Fiqih dari suatu perkara yang
sering dialami. Hal ini tentu saja dapat menjadi solusi bagi masyarakat yang masih
enggan untuk bertanya mengenai perkara yang belum diketahui dasar hukumnya.

Universitas Sumatera Utara


Sehingga ketika pengguna menemukan perkara baru yang belum diketahui hukumnya
maka pengguna tersebut tidak perlu pergi bertanya kepada pakarnya secara langsung
melainkan hanya tinggal menggunakan aplikasi ini.

1.2 Rumusan Masalah

Perkembangan dunia teknologi menyebabkan tuntutan untuk memberi kemudahan


dalam menyelesaikan setiap pekerjaan. Seperti halnya dalam menentukan hukum
Fiqih dari suatu perkara yang saat ini masih dilakukan secara manual. Berdasarkan hal
tersebut penulis mengangkat permasalahan bagaimana agar dalam menentukan
huklum Fiqih dari suatu perkara dapat dilakukan dengan mudah dan dalam waktu
yang singkat?

1.3 Batasan Masalah

Melihat banyaknya masalah yang akan muncul dari perancangan aplikasi ini, maka
penulis membatasi masalah yang akan menjadi pembahasan dalam perancangan
aplikasi ini, yaitu:

a. Pemrograman yang digunakan untuk merancang aplikasi ini yaitu


Pemrograman Visual Basic 6.0.
b. Pendekatan-pendekatan yang dilakukan untuk mendapatkan kesimpulan adalah
dengan memberikan pertanyaan-pertanyaan yang disimpan dalam database,
yaitu VisData.
c. Aplikasi ini dirancang tidak terkoneksi ke internet.
d. Aplikasi ini dibuat berdasarkan buku-buku Fiqih dan informasi yang diperoleh
melalui media internet dan juga hasil konsultasi dari beberapa ahli dalam
Fiqih.

Universitas Sumatera Utara


1.4 Maksud dan Tujuan

Adapun maksud dan tujuan pembuatan aplikasi ini adalah:


a. Untuk membuat tugas akhir sebagai salah satu syarat menyelesaikan program
pendidikan Diploma III di Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara.
b. Sebagai bentuk penerapan ilmu yang telah dipelajari semasa perkuliahan
secara nyata dan aplikatif.
c. Untuk mempermudah mengetahui hukum-hukum Fiqih dari suatu perkara.
d. Untuk memanfaatkan Pemrograman Visual Basic 6.0 sebagai pemrograman
pokok dalam perancangan aplikasi ini.
e. Untuk memberikan kemudahan kepada pengguna dalam menentukan hukun-
hukum Fiqih dari suatu perkara.
f. Untuk memberikan inovasi baru dalam bidang hukum Fiqih.

1.5 Metode Pengumpulan Data

Data-data yang digunakan dalam penulisan tugas akhir ini diperoleh melalui beberapa
tahapan. Adapun tahapan yang digunakan penulis dalam proses pengumpulan data
adalah sebagai berikut:

a. Pembelajaran literatur
Penulis mengumpulkan data dan teori yang dibutuhkan dalam penulisan tugas
akhir melalui buku-buku dan referensi lainnya yang berkaitan dengan tugas
akhir ini.

b. Wawancara
Penulis melakukan wawancara dengan seorang pakar hukum Fiqih untuk
medapatkan referensi hukum-hukum Fiqih tentang berbagai perkara.

Universitas Sumatera Utara


c. Perancangan dan Pengkodean
Pada tahap ini penulis melakukan perancangan dan design sistem penentuan
hukum fiqih sekaligus diimplementasikan ke dalam bentuk kode program
Visual Basic.

d. Pengujian Program
Data diperoleh setelah proses pengujian program diuji dan diambil kesimpulan
dari hasil pengujian tersebut.

e. Konsultasi dengan dosen pembimbing


Penulis melakukan diskusi dan bertanya secara langsung kepada dosen
pembimbing yang bersangkutan mengenai segala sesuatu yang berkaitan
dengan penulisan tugas akhir.

1.6. Sistematika Penulisan

Adapun sistematika penulisan yang digunakan penulis dalam penulisan laporan tugas
akhir ini adalah sebagai berikut:

BAB 1 Pendahuluan
Dalam bab ini berisikan mengenai latar belakang, rumusan
masalah, tujuan penulisan, batasan masalah, metode
pengumpulan data serta sistematika penulisan.

BAB 2 Landasan Teori


Landasan teori dalam bab ini menjelaskan tentang teori pendukung
yang digunakan untuk pembahasan tugas akhir meliputi gambaran
umum, prinsip kerja sitem pakar dan penjelasan mengenai
Pemrograman visual Basic 6.0.

Universitas Sumatera Utara


BAB 3 Analisis dan Perancangan Sistem
Bab ini membahas tentang perancangan aplikasi untuk mengetahui
hukum Fiqih dari suatu perkara yang diperoleh melalalui
pertannyaan-pertanyaan yang diajukan oleh sistem.

BAB 4 Implementasi Sistem


Bab ini akan membahas analisis hasil dan pembahasan aplikasi
sistem pakar penentuan hukum Fiqih yang dirancang, pembuatan
program yang diusulkan, tampilan interface program dan pengujian
aplikasi.

BAB 5 Kesimpulan dan Saran


Bab ini berisikan kesimpulan dari bab-bab sebelumnya, sehingga
dari kesimpulan tersebut penulis mencoba memberikan saran yang
berguna untuk melengkapi dan menyempurnakan aplikasi ini
dimasa yang akan datang.

Universitas Sumatera Utara


BAB 2

LANDASAN TEORI

2.1 Pengertian Sistem Pakar

Langkah pertama dalam menyelesaikan setiap masalah adalah dengan mendefinisikan


terlebih dahulu ruang lingkup permassalahan tersebut untuk permasalahan ynag akan
diselesaikan. Hal ini juga berlaku untuk pemrograman Artificial Intelligence (AI). Dan
untuk saat ini banayak permasalahan dunia nyata yang diselesaikan menggunakan AI
dan banyak juga aplikasinya yang dikomersialkan. Walaupun penyelesaian umum
untuk masalah AI belum ditemukan, tetapi pembatasan domain permaslaahannya telah
dapat menghasilkan suatu penyelesaian yang bermanfaat.

Gambar 2.1.1 menunjukkan bahwa AI memiliki banyak ruang lingkup atau


bidang. Bidang sistem pakar adalah salah satu bidang dari sekian banyak bidang yang
dimiliki AI yang merupakan penyelesaian pendekatan yang sangat bagus untuk
permasalahan AI klsik dari pemrograman intelligent (cerdas). Professor Edward
Feigenbaum dari Universitas Stanford yang merupakan seorang pelopor awal dari
teknologi sistem pakar, yang mendefinisikan sistem pakar sebagai suatu program
komputer cerdas yang menggunakan knowledge (pengetahuan) dan prosedur inferensi
untuk menyelesaikan maslaah yang cukup sulit sehingga membutuhkan seorang yang
ahli dalam menyelesaiakannya (Feigenbaum:1982). Suatu sistem pakar adalah suatu
sistem komputer yang menyamai kemampuan pengambilan keputusan dari seorang
pakar. Istilah menyamai berarti bahwa sistem pakar diharapkan dapat bekerja dalam
semua hal seperti seorang pakar.

Universitas Sumatera Utara


Pengenalan Pola
Sistem Pakar

Robotika Pengenalan Suara

Pengolahan Sistem Saraf Tiruan


Bahasa Alami
Penglihatan
Komputer

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

Universitas Sumatera Utara


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.

Knowledge-Base
Fakta
USER

Mesin Inferensi
Keahlian

Sistem Pakar

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.

Universitas Sumatera Utara


Domain Masalah

Domain
Pengetahuan

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:

Universitas Sumatera Utara


1. Dapat menyediakan kepakaran setiap waktu dan dimana saja.

2. Secara otomatis mengerjakan tugas-tugas rutin yang tidak membutuhkan


seorang pakar.

3. Seorang pakar akan pension atau pergi.

4. Seorang pakar adalah mahal.

5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile


environtment).

Tujuan dari sebuah sistem pakar adalah untuk mentransfer kepakaran yang
dimiliki seorang pakar ke dalam komputer dan kemudian kepada orang lain
(nonexpert). Aktivitas yang dilakukan untuk memindahkan kepakaran adalah:

1. Knowledge Acquisition (dari pakar atau sumber lainnya)

2. Knowledge Representation (ke dalam komputer)

3. Knowledge Inferencing

4. Knowledge Transfering

2.2 Konsep Umum Sistem Pakar

Pengetahuan dari suatu sistem pakar meungkin dapat dipresentasikan dalam sejumlah
cara. Salah satu cara yang paling umum untuk mempresentasikan pengetahuan adalah
dalam bentuk tipe aturan (rule) IF…Then (Jika…maka).

Walaupun cara di atas sangat sederhana, namun banyak hal yang berarti dalam
membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk
aturan di atas. Turban (1995) menyatakan bahwa konsep dasar dari suatu sistem pakar
mengandung beberapa unsur, yaitu keahlian, ahli, pengalihan keahlian, inferensi,
aturan dan kemampuan menjelaskan. Keahlian merupakan suatu pengetahuan di
bidang tertentu yang didapatkan dari pelatihan, membaca atau pengalaman. Contoh
bentuk pengetahuan yang merupakan keahlian adalah:

Universitas Sumatera Utara


1. Fakta-fakta pada lingkup permasalahan tertentu.

2. Teori-teori pada lingkup permasalahan tertentu.

3. Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan


tertentu.

4. Strategi-strategi global untuk menyelesaikan masalah.

5. Meta-knowledge (pengetahuan tentang pengetahuan).

Seorang ahli adalah seorang yang mempunyai pengetahuan tertentu dan


mempu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik
permasalahan (domain), menyusun kembali pengetahuan jikan dipandang perlu,
memilah aturan jika dibutuhkan dan menentukan relevan atau tidaknya keahliannya.
Pengalihan keahlian dari para ahli untuk kemudian dialihkan lagi ke orang lain yang
bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan
empat aktivitas, yaitu tambahan pengetahuan, representasi pengetahuan, inferensi
pengetahuan dan pengalihan pengetahuan ke pengguna. Pengetahuan yang disimpan
di komputer dinamakan dengan basis pengetahuan. Ada dua tipe pengetahuan, yaitu
fakta dan prosedur.

Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan
untuk menalar (reasoning). Jika keahlian-keahlian sudah tersimpan sebagai basis
pengetahuan dan sudah tersedia program yang mampu mengakses basis data, maka
komputer harus dapat deprogram untuk membuat inferensi. Proses ini dilihat dari
motor inferensi (inference engine).

Menurut Turban (1995), terdapat tiga orang yang terlibat dalam lingkungan
sistem pakar, yaitu:

1. Pakar

Pakar adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman


dan metode serta kemampuan untukmengaplikasikan keahliannya tersebut
guna menyelesaikan masalah.

Universitas Sumatera Utara


2. Perekayasa Sistem

Perekayasa sistem adalah orang yang membantu pakar dalam menyususn area
peramsalahan dengan menginterpretasikan dan mengintegrasikan jawaban-
jawaban pakar atas pertanyaan yang diajukan, menggambarkan analogi,
mengajukan counter example dan menerangkan kesulitan-kesulitan
konseptual.

3. Pengguna

Sistem pakar memiliki beberapa pengguna, yaitu: pemakai bukan pakar,


pelajar, pembangun sistem pakar yang ingin mengingatkan dan menambah
basis pengetahuan dan pakar.

2.3 Struktur Sistem Pakar

Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan
(decelopment environtment) dan lingkungan konsultasi (consultation environtment)
(Turban, 1995). Lingkungan pengembangan sistem pakar digunakan untuk
memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan
lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh
pengetahuan pakar. Komponen-komponen kedua bagian tersebut dapat dilihat pada
gambar 2.4 berikut ini:

Universitas Sumatera Utara


LINGKUNGAN KONSULTASI LINGKUNGAN PENGEMBANGAN

Pemakai Basis Pengetahuan


Fakta tentang Fakta dan Aturan

kejadian tertentu

Antar Muka
Knowledge
Fasilitas
Engineer
Penjelasan

Akuisisi

Pengetahuan
Mesin Inferensi
Aksi yang
Pemakai
direkomendasikan

Workplace Perbaikan
Pengetahuan

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

Universitas Sumatera Utara


antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi
dan informasi (input) dari pemakai, juga memberikan informasi kepada pemakai.

2.3.2 Basis Pengetahuan

Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi dan


penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar,
yaitu fakta dan aturan. Fakta merupakan informasi tentang objek dalam area
permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara
bagaimana memperoleh fakta baru dari fakta yang telah ada.

Dalam studi kasus pada sistem berbasis pengetahuan terdapat beberapa


karakteristik yang dibangun untuk membantu kita di dalam membentuk serangkaian
prinsip-prinsip arsitekturnya. Prinsip tersebut meliputi:

1. Pengetahuan merupakan kunci kekuatan sistem pakar.

2. Pengetahuan sering tidak pasti dan tidak lengkap.

3. Pengetahuan sering miskin spesifikasi.

4. Amatir menjadi ahli secara bertahap.

5. Sistem pakar harus fleksibel.

6. Sistem pakar harus transparan

2.3.3 Akuisisi Pengetahuan

Akuisisi pengetahuan adalah pengumpulan, perpindahan dan transformasi keahlian


dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer.
Dalam tahap ini knowledge engineer berusaha menyerap pengetahuan untuk
selanjutnya ditransfer ke dalam basis pengetahuan. Menurut Turban (1988), terdapat
tiga metode utama dalam akuisisi pengetahuan, ditambah dengan satu metode untuk
aturan tertentu, yaitu:

Universitas Sumatera Utara


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 lain
yang hasilnya tidak diketahui.

Akuisisi pengetahuan dilakukan sepanjang proses pembangunan sistem.


Menurut Fireburg (1989), proses akuisisi pengetahuan dibagi ke dalam enam tahap,
yaitu:

Universitas Sumatera Utara


1. Tahap identifikasi, meliputi penentuan komponen-komponen kunci dalam sistem
yang sedang dibangun. Komponen kunci ini adalah knowledge engineer, pakar,
karakteristik masalah, sumber daya dan tujuan.

2. Tahap konseptualisasi merupakan tahap kelanjutan dari tahap peratama yang


membuat konsep-konsep kunci dan hubungannya pada tahap tersebut menjadi lebih
jelas.

3. Tahap formalisasi, meliputi pemetaan konsep-konsep kunci, sub masalah dan


bentuk aliran informasi yang telah ditentukan dalam tahap-tahap sebelumnya ke
dalam representasi formasi yang paling sesuai dengan masalah yang ada.

4. Tahap implementasi, meliputi pemetaan pengetahuan dari tahap sebelumnya yang


telah diformalisasi ke dalam skema representasi pengetahuan yang dipilih.

5. Tahap pengujian, meliputi proses pengujian prototipe sistem yang telah dibangun
pada tahap sebelumnya untuk menjalani serangkaian pengujian dengan teliti
menggunakan beragam sampel masalah. Masalah-masalah yang ditemukan dalam
pengujian ini biasanyadapat dibagi menjadi tiga kategori, yaitu kegagalan
input/output kesalahan logika dan strategi kontrol.

6. Revisi prototipe, suatu unsur penting pada semua tahap dalam proses akuisisi
pengetahuan adalah kemampuan untuk kembali ke tahap-tahap sebelumnyauntuk
memperbaiki sistem.

2.3.4 Mesin Inferensi

Mesin inferensi adalah komponen yang mengandung mekanisme pola pikir dan
penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Menurut
Turban (1995) mesin inferensi adalah program komputer yang memberikan
metodologi penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam
workplace dan untuk merumuskan kesimpulan. Kebanyakan sistem pakar berbasis
aturan menggunakan strategi inferensi yang dinamakan modus ponen. Pada
prinsipnya, komponen ini akan mencari solusi dari suatu permasalahan.

Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar


berbasis aturan, yaitu pelacakan ke belakang (backward chaining) atau dalam salah

Universitas Sumatera Utara


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 Tujuan pemandu penalaran dari atas ke
atas bawah

Bekerja ke depan untuk mendapatkan Bekerja ke belakang untuk mendapatkan


solusi apa yang mengikuti fakta fakta yang mendukung hipotesis

Dalam memilih metode yang akan digunakan, semuanya bergantung pada


masalah yang akan dibuat sistem pakarnya dan belum dapat dibuktikan mana yang
lebih baik di antara kedua metode inferensi ini. Untuk sebuah sistem pakar yang besar,
dengan jumlah aturan yang relatif banyak, metode pelacakan ke depan akan dirasakan
sangat lamban dalam pengambilan kesimpulan, sehingga untuk sistem-sistem yang
besar digunakan metode pelacakan ke belakang.

2.3.5 Workplace

Workplace merupakan area dari sekumpulan memori kerja (working memory). memori
kerja merupakan bagian dari sistem pakar yang menyimpan fakta-fakta yang diperoleh
saat dilakukan proses konsultasi. Fakta-fakta inilah yang nanti akan diolah oleh mesin

inferensi berdasarkan pengetahuan yang disimpan dalam basis pengetahuan untuk


menentukan suatu keputusan pemecahan masalah. Hasilnya dapat berupa hasil
diagnosis, tindakan ataupun akibat.

Universitas Sumatera Utara


2.3.6 Fasilitas Penjelasan

Komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen


ini menggambarkan penalaran sistem kepada pemakai mengenai jalannya penalaran
sehingga dihasilkan suatu keputusan. Bentuk penjelasannya dapat berupa keterangan
yang diberikan setelah suatu pertanyaan diajukan, yaitu penjelasan atas pertanyaan
bagaimana sistem mencapai keputusan.

2.3.7 Perbaikan Pengetahuan

Pengetahuan pada sistem pakar dapat dirobah kapan saja sesuai kebutuhan sistem. Hal
ini dilakukan sehingga pemakai akan menggunakan sistem pakar sesuai dengan
perkembangan. Untuk melakukan proses perubahan tersebut, sistem dilengkapi
dengan fasilitas akuisisi pengetahuan. Pakar memiliki kemampuan untuk menganalisa
dan meningkatkan kinerja serta kemampuan untuk belajar dari kinerja sebelumnya.
Sehingga program akan mampu menganalisa penyebab kesuksesan dan kegagalan
yang dialaminya.

2.4 Ciri-ciri dan Kategori Masalah Sistem Pakar

Sistem pakar merupakan program-program praktis yang menggunakan strategi


heuristik yang dikembangkan manusia untuk menyelesaikan permasalahan-
permasalahan yang khusus, disebabkan oelh keheuristikannya dan sifatnya yang
berdasarkan pengetahuan, maka umumnya sistem pakar bersifat :

a. Memiliki informasi yang handal, baik dalam menampilkan langkah-langkah


maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian.

b. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu


kemampuan dari basis pengetahuannya.

c. Heuristik dalam menggunakan pengetahuan (yang sering tidak sempurna)


untuk mendapatkan penyelesaiannya.

d. Dapat digunakan dalam berbagai jenis komputer.

e. Memiliki kemampuan beradaptasi.

Universitas Sumatera Utara


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.

6. Monitoring

Universitas Sumatera Utara


Monitoring yaitu membandingkan tingkah laku suatu sistem yang teramati
dengan tingkag laku yang diharapkandarinya, diantaranya Computer Aided
Monitoring System.

7. Debugging dan repair

Debugging dan repair yaitu menentukan dan mengimplementasikan cara-cara


untuk mengatasi malfungsi dan memperbaiki kesalahan yang terjadi pada
fungsi atau sistem.

8. Instruksi

Intruksi yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman


domain subjek, diantaranya melakukan instruksi untuk diagnosis, debugging
dan perbaiakan.

9. Kontrol (Pengendalian)

Pengendalian yaitu mengatur tingkah laku suatu lingkungan yang kompleks


seperti kontrol terhadap interpretasi-interpretasi, prediksi, perbaikan dan
pengawasan.

10. Seleksi

Seleksi yaitu mengidentifikasi pilihan terbaik dari sekumpulan kemungkinan.

11. Simulasi

Simulasi yaitu pemodelan interaksi antara komponen-komponen sistem.

2.5 Keuntungan Sistem Pakar

Secara garis besar, banyak manfaat atau keuntungan bila menggunakan sistem pakar,
antara lain:

1. Menjadikan pengetahuan dan nasihat lebih mudah didapat.

2. Meningkatkan keluaran dan produktivitas.

Universitas Sumatera Utara


3. Menyimpan kemampuan dan keahlian pakar.

4. Memberikan jawaban yang cepat.

5. Dapat bekerja dengan informasi ynag kurang lengkap dan mengandung


ketidakpastian.

6. Dapat digunakan untuk mengakses basis data dengan cara cerdas (Kerschberg,
1986)

7. Sistem pakar menyediakan nasihat yang konsisten dan dapat mengurangi


tingkat kesalahan.

8. Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta


memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai dimana
saja.

2.6 Kelemahan Sistem Pakar

Selain memiliki keuntungan-keuntungan seperti yang telah dijelaskan sebelumnya,


sistem pakar juga memiliki beberapa kelemahan, antara lain:

1. Untuk membuat sistem pakar yang berkualitas sangatlah sulit dan memerlukan
biaya yang besar untuk pengembangan dan pemeliharaannya.

2. Masalah dalam mendapatkan pengetahuan di mana pengetahuan tidak selalu


bisa didapatkan dengan mudah, karena kadangkala pakar dari masalah yang
kita buat tidak ada, kalaupun ada kadang-kadang pendekatan yang dimiliki
oleh pakar berbeda-beda.

3. Sistem pakar tidaklah sepenuhnya menguntungkan, walaupun seorang tetap


tidak sempurna atau tidak selalu benar. Oleh karena itu, perlu diuji ulang
secara teliti sebelum digunakan. Dalam hal ini manusia tetap memegang
peranan yang paling dominan.

Universitas Sumatera Utara


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

1 8
Kajian domain Penyempurnaan
masalahnya Sistem

2 7
Defenisi masalah Sistem berfungsi
dengan baik

3 6
Jelaskan kumpulan Lakukan pengujian
kaidahnya ke pengguna

4 5
Uji sistem Bangun antarmuka
prototipenya

Gambar 2.7.1 Langkah-langkah membangun sistem pakar

2.8 Mengembangkan Sistem Pakar

Pada pengembangan sistem pakar diperlukan beberapa tahapan agar dapat


menghasilkan suatu sistem yang berhubungan dengan tahapan hingga suatu sistem
terwujud. Tahapan-tahapan tersebut dapat dilihat pada gambar berikut ini:

Universitas Sumatera Utara


Reformulasi
Tahap 1: Penilaian keadaan

Kebutuhan Eksplorasi
Tahap 2: Koleksi Pengetahuan

Pengetahuan Perbaikan
Tahap 3: Perancangan

Struktur
Tahap 4: Pengujian

Evaluasi

Tahap 5: Dokumentasi

Produk

Tahap 6: Pemeliharaan

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.

Universitas Sumatera Utara


2. Visual Basic dapat menangani bermacam-macam format database seperti
format database Microsoft Access, Microsoft excel, FoxPro dan lain
sebagainya.

Gambar 2.9.1 Kotak dialog new project pada Visual Basic 6.0

2.9.1 Tampilan (Interface) Visual Basic 6.0

Interface atau dalam beberapa buku dinamakan Integreted Development Environtment


(IDE) Visual Baisc 6.0 adalah pusat pengembangan program, karena semua kegiatan
pengembangan program berkangsung secara terintegrasi. Berikut ini merupakan
tampilan IDE Visual Basic 6.0 :

Gambar 2.9.1.1 Tampilan utama Microsoft Visual Basic 6.0

Visual Basic 6.0 membagi tampilan utamanya menjadi beberapa bagian, yaitu:

Universitas Sumatera Utara


1. Menu Bar

Gambar 2.9.1.2 Menu Bar

Menu Bar digunakan untuk memilih tugas-tugas tertentu seperti menyimpan,


membuka project dan lain-lain yang terdiri dari File, Edit, View, Project, Formst,
Debug, Run, Query, Diagram, Tools, Add-Ins, Windows Dan Help.

2. Toolbar

Gambar 2.9.1.3 Toolbar

Toolbar digunakan untuk mengakses perintah-perintah dalam menu yang sering


dipakai secara cepat.

3. Jendela Project

Menampilkan daftar form dan module yang sedang digunakan pada saat project
aktif.

Gambar 2.9.1.4 Jendela project

4. Jendela Form

Jendela form merupakan jendela yang digunakan untuk mendesain tampilan dari
aplikasi yang akan dibuat.

Universitas Sumatera Utara


Gambar 2.9.1.5 Jendela form

5. Toolbox

Toolbox merupakan daftar komponen-komponen yang dapat digunakan untuk


mendesain tampilan program aplikasi yang akan dibuat. Komponen-komponen
toolbox tersebut dapat dilihat pada gambar berikut ini:

Gambar 2.9.1.6 Toolbox

Secara garis besar, fungsi dari masing-masing komponen toolbox tersebut adalah
sebagai berikut:

Universitas Sumatera Utara


1. PictureBox merupakan kontrol yang digunakan untuk menampilkan image
dengan format bmp, dib, ico, cur, gif, jpg dan lain-lain.

2. TextBox merupakan kontrol yang mengandung string yang dapat diperbaiki oleh
pemakai, dapat berupa satu baris tunggal atau banyak.

3. CommandBotton digunakan untuk membuat suatu tombol perintah eksekusi.

4. OptionBotton digunakan sebagai sarana pemilihan terhadap beberapa pilihan


yang hanya dapat dipilih satu.

5. ComboBox adalah kotak yang berisiskan pilihan yang dapat dipilih dan dapat
diketik langsung seperti textbox.

6. VScrollBar digunakan untuk membentuk scrollbar sendiri.

7. DriveListBox sering digunakan untuk membentuk dialogbox yang berkaitan


dengan file.

8. FileListBox sering digunakan untuk membentuk dialogbox yang berkaitan


dengan file.

9. Line digunakan untuk membuat objek berbentuk garis.

10. Data

11. Pointer bukan merupakan sebuah kontrol, tetapi ikon yang digunakan ketika
akan memilih kontrol yang sudah berada pada form.

12. Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat
diperbaiki oleh pemakai.

13. Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol yang
lainnya.

14. CheckBox digunakan untuk pilihan yang isinya bernilai yes/no atau true/false.

15. ListBox mengandung sejumlah item dan user dapat memilih lebih dari satu.

16. HScrollBar digunakan untuk membentuk scrollbar sendiri secara horizontal.

Universitas Sumatera Utara


17. Timer digunakan untukm menampilkan waktu dan membuat format waktu
dalam program jika dibutuhkan.

18. DirListBox sering digunakan untuk membentuk dialogbox yang berkaitan


dengan file.

19. Shape digunakan untuk membuat objek dalam bentuk persegi, bulat dan oval.

20. Image digunakan untuk menampilkan gambar yang digunakan dalam program.

21. OLE digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel,
Word dan lain-lain.

6. Jendela Code

Gambar 2.9.1.7 Jendela code (source code editor)

Jendela code merupakan tempat yang dipergunakan untuk menuliskan barisan program,
setiap kontrol dalam form yang memiliki fungsi tertentu. Fungsi tersebut diwujudkan
dalam deret perintah, yang kemudian perintah-perintah tersebut dituliskan ke dalam
window code editor.

Universitas Sumatera Utara


7. Jendela Properties

Gambar 2.9.1.8 Jendela Properties

Jendela ini digunakan untuk mengatur property dari komponen-komponen yang


sedang diaktifkan. Properties merupakan karakteristik dari sebuah objek.

2.9.2 Konsep Dasar Pemrograman Visual Basic 6.0

Konsep dasar pemrograman Visual Basic 6.0 adalah pembuatan form dengan
mengikuti aturan pemrograman property, metode dan event.

1. Property adalah karakteristik yang melekat pada sebuah objek yang


menunjukkan ciri suatu objek.

2. Metode adalah prosedur yang dikerjakan pada suatu objek. Metode merupakan
suatu tindakan dimana objek dapat dibuat.

3. Event berfungsi untuk menunjukkan kejadian yang terjadi pada sebuah objek.
Misalnya kejadian ketika command1 diklik dan sebagainya.

Universitas Sumatera Utara


BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Tahap analisis sistem merupakan tahap awal yang sangata penting dalam membngun
sistem pakar karena hal ini amat sangat berpengaruh pada sistem pakar yang akan
dibangun. salah satu cara analisis sistem yang bisa kita lakukan dalam pengembangan
sistem pakar adalah dengan menggunakan System Development Life Cycle (Daur
Hidup Pengembangan Sistem) yang merupakan langkah untuk menganalisis dan
mendesain sistem. Cara ini memiliki tujuh langkah utama, yaitu:

1. Identifikasi masalah, kesempatan dan tujuan

Pada tahap ini kita akan menginventarisasi permasalahan yang ada yang nantinya
akan kita sederhanakan, dan akhirnya akan kita cari solusinya lewat sistem yang
akan kita buat. Sebagai seorang analis kita dituntut untuk melihat sebuah sistem
yang ada secara objektif agar setiap orang yang menggunakan sistem kita tidak
mengalami kesulitan dalam menggunakannya.

2. Menentukan kebtuhan informasi

Pada tahap ini seorang analis membutuhkan variable-variabel data yang


dibutuhkan sebagai bahan dasar pembuatan sebuah sistem informasi. Ada
beberapa cara yang dapat kita lakukan dalam pengumpulan data yang dibutuhkan
sistem, antara lain:

a. Interview, yaitu proses pengumpulan data dengan melakukan


wawancara/dialog mengenai apa saja yang dibutuhkan oleh seorang analis.

b. Questionnaire, yaitu penyusunan sejumlah pertanyaan mengenai komponen-


komponen yang dibutuhkan dalam proses pembuatan program.

Universitas Sumatera Utara


c. Prototyping, yaitu membuat sketsa masalah berupa gambaran umum program
yang akan dibangun dari sejumlah data yang berhasil dikumpulkan.

3. Analisis kebutuhan sistem

Pada proses ini seorang analis diharapkan mampu menganalisa data yang telah
dikumpulkan sebelumnya. Dengan kata lain, dalam tahap ini diharapkan seorang
analis dapat merancang alaur program yang akan dibangun. Selain itu pada
tahapan ini seorang analis dapat juga melakukan analisis terhadap biaya alternative
yang akan dicapai sistem pasca penggunaan program. Perancangan yang kita
lakukan dalam tahap ini berorientasi proses.

4. Model analisis

Model representasi aliran proses sistem yang akan dirancang disajikan dalam Data
Flod Diagram (DFD). Pada dasarnya pembuatan DFD ini didasarkan pada
penentuan proses yang ada terhadap data yang tersedia. Jadi bentuk DFD ini lebih
didasarkan pada gambaran proses secara umum. Notasi yang digunakan adalah
sebagai berikut:

Terminator

Proses

Storage (Sumber data)

Tabel 3.1 Notasi DFD

3.2 Perancangan Sistem

3.2.1 Flowchart sistem

Dalam perancangan aplikasi sistem pakar, basis data atau informasi yang diperoleh
dari seorang pakar terlebih dahulu akan diubah ke dalam bentuk diagram flowchart
sistem. Hal ini dilakukan untuk menunjukkan alur kerja apa yang akan dikerjakan
dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang
ada dalam sistem.

Universitas Sumatera Utara


START

No
Selamat datang

Yes

No Yes
Login Admin

Yes

No Yes
User

Yes

No Input Basis
Pilih Permasalahan Pengetahuan

Yes
Pengajuan Pertanyaan
No

Yes Yes

No
Tampilan Analsis/hasil

Yes
Tampilan solusi/alasan Cetak
No Yes

Yes
Penutup

Yes

No STOP

Gambar 3.2.1 Flowchart Sistem

Universitas Sumatera Utara


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

Tabel 3.3 Tabel pendekatan (pengetahuan)

Universitas Sumatera Utara


c. Tabel Pilihan

Nama Field Data Type

Id_pilihan Text

Pilihan Text

Tabel 3.4 Tabel pilihan

d. Tabel Alasan

Nama Field Data Type

Id_alasan Text

Alasan Text

Tabel 3.5 Tabel alasan

e. Tabel Solusi

Nama Field Data Type

Id_solusi Text

Solusi Text

Tabel 3.6 Tabel solusi

3.2.3 Data Flow Diagram (DFD) Sistem Pakar Penentuan Hukum Fiqih

Data Flow Diagram (DFD) biasanya terdiri dari beberapa level. DFD level 0 atau
sering disebut DFD konsep ini terdiri dari dua entitas yaitu Pakar (admin) dan
Pengguna (user). Admin akan memberikan input ke sistem berupa pertanyaan-
pertanyaan, analisis hasil/jawaban dan solusi atau keputusan akhir. User akan memilih
pertanyaan-pertanyaan yang diajukan oleh sistem dan kemudian sistem akan

Universitas Sumatera Utara


memberikan jawaban dari setiap pertanyaan-pertanyaan yang dipilih dan memberikan
kesimpulannya.

Penentuan
Login Hukum logout
User
Fiqih Admin
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:

Universitas Sumatera Utara


USER ADMIN

Admin
Login Login

1.0 simpan 1.0


Memilih Mengisi
kategori nama dan
permasalah password

Pertanyaan

Data pertanyaan Data pertanyaan


i
n 1.1 Kumpulan
f Memilih Pertanyaan 1.1
o pertanyaan Menginput
r pertanyaan
Jawaban
m
a
s
i Data analisis Data analisis

1.2 Melihat Analisa


hasil jawaban 1.2
analisis Menginput
Analisis/pili
han
Analisis jawaban
Keputusan

Data keputusan
1.3 Melihat
1.3
Keputusan
Analisa Mengecek
akhir/hasil
solusi database

Gambar 3.2.3.2 DFD level 1 aplikasi penentuan hukum fiqih

Universitas Sumatera Utara


3.3 Spesifikasi Proses

1. Proses Login

Proses 1.0 (administrator) Login

a. Masukan : Administrator (nama, password) dan pengguna langsung


menggunakan aplikasi.

b. Proses : Administrator memasukkan nama dan password kemudian ke


menu admin.

c. Keluaran : Administrator masuk ke menu admin.

2. Proses Interpretasi

Proses 1.1 (user) pertanyaan

a. Masukkan : Pilihan pengguna.

b. Proses : Pengguna memilih kategori masalah dan sistem akan


memberikan pertanyaan sesuai dengan kategori yang dipilih
kemudian pengguna akan menerima jawaban dari pertanyaan
yang dipilih beserta analisisnya jika diperlukan.

c. Keluaran : Jawaban pertanyaan yang dipilih oleh pengguna dan


menampilkan analisis jawaban berupa alasan jawaban yang
ditampilkan.

Universitas Sumatera Utara


3. Proses Pengetahuan

Proses 1.1 (administrator) input pertanyaan

a. Masukkan : id_pendekatan. Id_pilihan, pertanyaan, fakata ya, ya dan


pilihan menu edit.

b. Proses : Administrator memasukkan data masukkan dan kemudian


menyimpannya ke database.

c. Keluaran : Semua hasil dari masukkan yang di input tersimpan di


database.

4. Proses Hasil Analisis

Proses 1.2

a. Masukkan : Id_solusi, solusi

b. Proses : Administrator memasukkan data masukkan dan kemudian


menyimpannya ke database.

c. Keluaran : Data yang diinput akan tersimpan di database.

3.4 Perancangan Antarmuka (Interface)

Perancangan antarmuka ini dirancang sebagai alat komunikasi antara sistem dengan
pengguna. Perancangan antarmuka pada sistem pakar penentuan hukum fiqih ini
dibedakan atas dua bagian, yaitu:

1. Perancangan antarmuka untuk administrator

Antarmuka ini dirancang untuk memberikan kemudahan kepada administrator


untuk melakukan pengolahan data.

Universitas Sumatera Utara


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

Menu

JUDUL

a. vLogin
Proses : Administrator memasukkan nama About password
dan Me
kemudian

Gambar 3.4.1 Rancangan form selamat datang

3.4.2 Rancangan form login

Text Judul

Frame login
Level

Gambar Username

Password

Masuk Keluar

Gambar 3.4.2 Rancangan form login

Universitas Sumatera Utara


2.4.3 Rancangan form admin

Simpan Tambah Ubah Batal Hapus Keluar

Id_pendekatan

Id_pilihan

Pertanyaan

Fakta Ya

Jika Ya

Edit juga

Tabel Pendekatan

Gambar 2.4.3 Rancangan form admin

2.4.4 Rancangan form tambah pilihan

Simpan Tambah Ubah Batal Hapus Keluar

Id_pilihan

Pilihan

Tabel Pilihan

Gambar 2.4.4 Rancangan form tambah pilihan

Universitas Sumatera Utara


2.4.5 Rancangan form tambah solusi

Simpan Tambah Ubah Batal Hapus Keluar

Id_solusi

Solusi

Tabel Solusi

Gambar 2.4.5 Rancangan form tambah solusi

2.4.6 Rancangan form pilih kategori permasalahan

Pilih kategori permasalahan

Pilih Batal Keluar

Gambar 2.4.6 Rancangan form pilih kategori permasalahan

2.4.7 Rancangan form pilih pertanyaan

Pilih pertanyaan

Tampilan pertanyaan

Pilih Batal Kelua

2.4.7 Rancangan form pilih pertanyaan

Universitas Sumatera Utara


2.4.8 Rancangan form hasil pendekatan

Hasil Pendekatan

Alasan Ulangi Keluar

Gambar 2.4.8 Rancangan form hasil pendekatan

2.4.9 Rancangan form dasar kesimpulan

Dasar Kesimpulan

Selesai

Gambar 2.4.9 Rancangan form dasar kesimpulan

Universitas Sumatera Utara


2.4.10 Rancangan form tentang pembuat

Label Penjelasan pembuat

Gambar

Keluar

Gambar 2.4.10 Rancangan form tentang pembuat

2.4.11 Rancangan form tentang program

Label penjelassan program

Keluar

Gambar 2.4.11 Rancangan form tentang program

Universitas Sumatera Utara


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.

Gambar 4.1 Menu selamat datang

Universitas Sumatera Utara


4.2 Menu Login

Menu login merupakan pintu masuk user yang bertindak sebagai administrator atau
pengguna biasa. Jika usernya adalah administrator maka administrator harus mengisi
kotak username dan password untuk dapat menggunakan aplikasi ini yaitu merobah
data sistem. Dan jika usernya adalah pengguna biasa maka pengguna dapat
menggunakan langsung aplikasi ini.

Gambar 4.2 Menu login

4.3 Menu Admin

Setelah melakukan login pada menu sebelumnya, administrator akan masuk ke menu
admin ini untuk melakukan proses pengolahan data seperti penyimpanan data baru,
penghapusan, pengobahanndan penambahan data.

Universitas Sumatera Utara


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.

Gambar 4.4 Menu tambah kategori pilihan

Universitas Sumatera Utara


4.5 Menu Kategori Tambah Solusi

Menu ini hampir sama dengan menu sebelumnya yaitu menu yang hanya dapat
diakses oleh administrator untuk melakukan pengolahan data seperti penambahan
solusi dan proses pengolahan data lainnya.

Gambar 4.5 Menu kategori tambah solusi

4.6 Menu Pemilihan Kategori

Setelah user melakukan login dengan username pengguna pada menu sebelumnya,
maka user tersebut akan langsung masuk ke menu ini tanpa melakukan proses input
data username dan password terlebih dahulu. Menu ini dibuat agar pengguna dapat
memilih kategori permasalan yang ingin diselesaikan.

Universitas Sumatera Utara


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.

Gambar 4.7 Menu pendekatan masalah

Universitas Sumatera Utara


4.8 Menu Hasil Pendekatan

Menu ini merupakan menu yang akan menampilkan hasil atau jawaban ataupun
kesimpulan dari pertanyaan-pertanyaan yang telah dipilih oleh pengguna pada menu
sebelumnya sesuai dengan kategori permasalahan yang telah dipilih. Pada menu ini
pengguna akan menemukan jawaban dari pertanyaan-pertanyaan yang telah dipilih
pada menu sebelumnya. Dalam menu ini terdapat beberapa tombol seperti tombol
alasan, ulangi dan selesai. Tombol alasan digunakan untuk menampilkan alasan dari
jawaban yang telah ditampilkan, tombol ulangi digunakan untuk mengulang kembali
ke menu sebelumnya dan tombol selesai digunakan untuk keluar dari menu ini.

Gambar 4.8 Menu hasil pendekatan

4.9 Menu Dasar Kesimpulan

Menu ini merupakan menu yang dirancang untuk menampilkan dasar atau landasan
dari kesimpulan yang diberikan dan sebagai penguat kesimpulan yang telah diberikan
kepada pengguna.

Universitas Sumatera Utara


Gambar 4.9 Menu dasar kesimpulan

4.10 Menu Tentang Pembuat

Gambar 4.10 Menu Tentang Pembuat

Universitas Sumatera Utara


4.11 Menu Tentang Program

Gambar 4.11 Menu tentang program

Universitas Sumatera Utara


BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah penyelesain tugas akhir ini, penulis dapat mengambil beberapa kesimpulan,
yaitu:

1. Membutuhkan sumber pengetahuan yang sesuai dengan pakar yang


dibutuhkan.
2. Membutuhkan banyak data dan informasi dalam pembuatan aplikasi ini.
3. Diperlukan ketelitian dan kesabaran dalam menyusun kode program.
4. Memahami dengan benar target pengguna aplikasi yang akan dibangun
sehingga tidak kesulitan dalam perancangan antarmuka.

5.2 Saran

Walaupun penulis sudah berusaha sebaik mungkin dalam penyelesaian tugas ini,
penulis menyadari masih terdapat banyak kekurangan di dalamnya. Untuk
mengembangkan dan meningkatkan prinsip kerja aplikasi ini, maka ada beberapa
saran yang perlu disampaikan penulis, antara lain:
1. dalam pembangunan sistem pakar, dibutuhkan arahan dan bantuan dari orang
yang berpengalaman dalam suatu bidang tertentu.
2. Meningkatkan kemampuan dalam membuat interface yang menarik dan waktu
yang cukup untuk membangun sistem pakar ini.
3. Penulis mengaharapkan sistem ini dapat dikembangkan untuk mencapai fungsi
yang maksimal dan menambahkan keterangan-keterangan yang mempermudah
pengguna dalam menggunakan aplikasi ini serta menambahkan perintah-

Universitas Sumatera Utara


perintah atau pertanyaan-pertanyaan yang perlu dan aplikasi ini masih bersifat
manual.
4. Aplikasi ini dapat dikembangkan dengan mengoneksikannya dengan internet.
5. Pada proses pendekatan masalah aplikasi ini masi manual dalam memberikan
pertanyaan-pertanyaan pendekatannya. Oleh karena itu diharapkan dapat
secara otomatis dilakukan oleh pengguna dalam memberikan pertanyaan
kepada sistem dan kemudian sistem dapat memberika keputusannya.

Universitas Sumatera Utara


DAFTAR PUSTAKA

1. Karuniawan, Bagus. 2002. Sistem Informasi Manajemen dengan Visual Basic


6.0. Malang: ANDI.
2. Desiani, Anita, dan Muhammad Arhami,. 2006. Konsep Dasar Kecerdasan
Buatan. Yogyakarta: ANDI.
3. Hartati, Sri, dan Sari Iswanti. 2008. Sistem Pakar dan Pengembangannya.
Yogyakarta:Graha Ilmu.
4. Tim Peneliti dan Pengembangan MADCOMS. 3003. Aplikasi Database dan
Crystal Report pada Visual basic 6.0. Yogyakarta: ANDI.
5. Putra, Indra.2004. Visual Basic 6.0. Batam: ANDI
6. Syarifuddin, Amir.2010. Garis-Garis Besar Fiqih. Jakarta: Kencana
7. Kamal, Abu Malik. 2008. Shahih Fiqih Sunnah. Jakarta: Pustaka Adzkia

Universitas Sumatera Utara


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

2. Form Admin

Universitas Sumatera Utara


Public baru As Boolean
Dim rsPilih As ADODB.Recordset

Private Sub cboedit_Click()


If cboedit.Text = "Pilihan" Then
frmTambahPilihan.Show vbModal
Else
frmSolusi.Show vbModal
End If
Me.Hide
End Sub

Private Sub cmdBatal_Click()


KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel
KosongkanForm
End Sub

Private Sub cmdHapus_Click()


On Error GoTo hapusErr
Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo +
vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi"
End If
Exit Sub

hapusErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"

Universitas Sumatera Utara


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
If rstb_pendekatan.BOF Then .AddNew

Universitas Sumatera Utara


.Update
MsgBox "Data berhasil disimpan !", vbInformation, "Informasi"
KunciTeks True
tombolAwal True
KosongkanForm
End With
End If
End If
Exit Sub
diskonek_db
simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub

Private Sub cmdTambah_Click()


baru = True
KunciTeks False
tombolAwal False
txtidpendekatan.SetFocus
End Sub

Sub tombolAwal(kunci As Boolean)


cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci
cmdBatal.Enabled = Not kunci
cmdUbah.Enabled = kunci
cmdHapus.Enabled = kunci
cmdKeluar.Enabled = kunci
End Sub

Private Sub cmdUbah_Click()


On Error GoTo ubahErr
KunciTeks False

Universitas Sumatera Utara


tombolAwal False

With Adodc1.Recordset
Set rstb_pendekatan = New ADODB.Recordset
rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2

txtidpendekatan.Text = rstb_pendekatan!Id_pendekatan
txtidpilihan.Text = rstb_pendekatan!Id_pilihan
txtpertanyaan.Text = rstb_pendekatan!pertanyaan
txtfYa.Text = rstb_pendekatan!FaktaYa
cboYa.Text = rstb_pendekatan!Ya

End With
txtidpendekatan.SetFocus

baru = False
Exit Sub

ubahErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub

Private Sub form_load()


KunciTeks True
tombolAwal True
Adodc1.ConnectionString = conn.ConnectionString
Adodc1.RecordSource = "select * from tb_pendekatan"
'Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).Width = 400
cboedit.AddItem "Solusi"
cboedit.AddItem "Pilihan"
End Sub

Universitas Sumatera Utara


Sub KosongkanForm()
txtidpendekatan.Text = " "
txtidpilihan.Text = Empty
txtpertanyaan.Text = Empty
txtfYa.Text = Empty
cboYa.Text = Empty
End Sub

Sub KunciTeks(kunci As Boolean)


txtidpendekatan.Locked = kunci
txtpertanyaan.Locked = kunci
txtfYa.Locked = kunci
cboYa.Locked = kunci
End Sub

3. Form Alasan
Private Sub Command1_Click()
End
End Sub

Sub tampil()
konek_db
LabelAlas.Caption = ""
Set rstb_alasan = New ADODB.Recordset
rstb_alasan.Open "select *from tb_alasan", conn, 1, 2
rstb_alasan.MoveFirst

Select Case frmPilihan.cboPilih.ListIndex


Case 0
rstb_alasan.Find "Id_alasan='A1'"
LabelAlas.Caption = rstb_alasan!alasan
Case 1

Universitas Sumatera Utara


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

Private Sub cmdsiap_Click()

Universitas Sumatera Utara


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
rstb_pendekatan.Find "Id_pendekatan='PD14'"

Universitas Sumatera Utara


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
Else

Universitas Sumatera Utara


MsgBox "login gagal"
End If
rstb_user.close
End If
login_err:
MsgBox Err.Description
End Sub

Private Sub form_load()


cboLevel.AddItem "Administrator"
cboLevel.AddItem "Pengguna"
End Sub

6. Form Me
Private Sub Command1_Click()
Unload Me
End Sub

7. Form Pendekatan
Private Sub cmdSelesai_Click()
Unload Me
End Sub

Private Sub cmdYa_Click()


On Error Resume Next
Set rstb_pertanyaan = New ADODB.Recordset
If cbopilihpertanyaan = "" Then
MsgBox "Maaf, Anda harus memilih kategori Permasalahan", vbOKCancel,
"Peringatan"
Else
cbopilihpertanyaan.Text = rstb_pertanyaan
Set rstb_alasan = New ADODB.Recordset
rstb_alasan.AddNew

Universitas Sumatera Utara


rstb_alasan!id_alasan = rstb_pendekatan!Id_pendekatan
rstb_alasan!alasan = rstb_pendekatan!FaktaYa
rstb_pendekatan.Update
jwb = rstb_pendekatan!Ya
If Left(jwb, 1) = "T" Then
rstb_pendekatan.MoveFirst
rstb_pendekatan.Find " Id_pendekatan= '" & jwb & "' "
Label1.Caption = rstb_pendekatan!pertanyaan
Else
rstb_solusi.MoveFirst
rstb_solusi.Find " Id_solusi= '" & jwb & "' "
frmHasilPendekatan.Label1.Caption = rstb_solusi!solusi
frmHasilPendekatan.Show vbModal
End If
End If
End Sub

Private Sub Label1_Click()


Label1.Caption = cbopilihpertanyaan.Text
End Sub

Private Sub cmdTidak_Click()


Label1.Caption = ""
cbopilihpertanyaan.Text = ""
cbopilihpertanyaan.SetFocus
End Sub

Private Sub form_load()


tampil
End Sub

Sub tampil()
konek_db

Universitas Sumatera Utara


cbopilihpertanyaan.Clear
Set rstb_pendekatan = New ADODB.Recordset
rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2
rstb_pendekatan.MoveFirst

Select Case frmPilihan.cboPilih.ListIndex


Case 0
rstb_pendekatan.Find "Id_pendekatan='PD1'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 1
rstb_pendekatan.Find "Id_pendekatan='PD4'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 2
rstb_pendekatan.Find "Id_pendekatan='PD8'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan

Case 3
rstb_pendekatan.Find "Id_pendekatan='PD12'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 4
rstb_pendekatan.Find "Id_pendekatan='PD13'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 5
rstb_pendekatan.Find "Id_pendekatan='PD14'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 6
rstb_pendekatan.Find "Id_pendekatan='PD15'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
Case 7
rstb_pendekatan.Find "Id_pendekatan='PD18'"
cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan
End Select
rstb_pendekatan.close

Universitas Sumatera Utara


diskonek_db
End Sub

8. Form Pilihan
Private Sub cmdPilih_Click()
If cboPilih.Text = " " Then
MsgBox "Pilihan Kategori permasalahan tidak boleh kosong.", vbCritical +
vbOKOnly, "Peringatan"
Else
frmPendekatan.Show vbModal
End If
End Sub

Sub tampil()
konek_db
Dim i As Integer
i=0
cboPilih.Clear
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2
rstb_pilihan.MoveFirst
While Not rstb_pilihan.EOF
cboPilih.AddItem rstb_pilihan!pilihan, i
i=i+1
rstb_pilihan.MoveNext
Wend
diskonek_db
cmdPilih.Enabled = True
End Sub
Private Sub form_load()
tampil
End Sub

Universitas Sumatera Utara


Private Sub Command2_Click()
cboPilih.Text = " "
cboPilih.SetFocus
End Sub
Private Sub Command3_Click()
Unload Me
End Sub

9. Form ProgramIni
Private Sub Command1_Click()
Unload Me
End Sub

10. Form Solusi


Public baru As Boolean
Dim rsPilih As ADODB.Recordset
Private Sub cmdBatal_Click()
KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel
KosongkanForm
End Sub

Private Sub cmdHapus_Click()


On Error GoTo hapusErr
Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo +
vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi"
End If

Universitas Sumatera Utara


Exit Sub

hapusErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub
Private Sub cmdKeluar_Click()
Me.Hide
End Sub

Private Sub cmdSimpan_Click()


konek_db
On Error GoTo simpanErr
Dim rsCek As ADODB.Recordset

If txtIDSolusi.Text = "" Or txtSolusi.Text = "" Then


MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation,
"Peringatan"
txtIDSolusi.SetFocus
Else
Set rsCek = New ADODB.Recordset
rsCek.Open "select * from tb_solusi where Id_solusi='" & txtIDSolusi.Text & "'",
conn, 1, 2
If Not rsCek.EOF And baru Then
MsgBox "Solusi dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti
dengan kode yang lain !", vbExclamation, "Peringatan"
txtIDSolusi.SetFocus: SendKeys "{HOME}+{END}"
Else
With Adodc1.Recordset
Set rstb_solusi = New ADODB.Recordset
rstb_solusi.Open "insert into tb_solusi values ('" & txtIDSolusi.Text & "', '" &
txtSolusi.Text & "')", conn, 1, 2
If rstb_solusi.BOF Then .AddNew
.Update

Universitas Sumatera Utara


MsgBox "Data berhasil disimpan !", vbInformation, "Informasi"
KunciTeks True
tombolAwal True
KosongkanForm
End With
End If
End If
Exit Sub
diskonek_db
simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub

Private Sub cmdTambah_Click()


baru = True
KunciTeks False
tombolAwal False
txtIDSolusi.SetFocus
End Sub
Sub tombolAwal(kunci As Boolean)
cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci
cmdBatal.Enabled = Not kunci
cmdUbah.Enabled = kunci
cmdHapus.Enabled = kunci
cmdKeluar.Enabled = kunci
End Sub

Private Sub cmdUbah_Click()


On Error GoTo ubahErr
KunciTeks False
tombolAwal False

Universitas Sumatera Utara


With Adodc1.Recordset
Set rstb_solusi = New ADODB.Recordset
rstb_solusi.Open "select *from tb_solusi", conn, 1, 2
txtIDSolusi.Text = rstb_solusi!Id_solusi
txtSolusi.Text = rstb_solusi!solusi
End With
txtIDSolusi.SetFocus
baru = False
Exit Sub

ubahErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub

Private Sub form_load()


KunciTeks True
tombolAwal True

Adodc1.ConnectionString = conn.ConnectionString
Adodc1.RecordSource = "select * from tb_solusi"
Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).Width = 400
End Sub

Sub KosongkanForm()
txtIDSolusi.Text = " "
txtSolusi.Text = ""
End Sub

Sub KunciTeks(kunci As Boolean)


txtIDSolusi.Locked = kunci
txtSolusi.Locked = kunci
End Sub

Universitas Sumatera Utara


11. Form Tambah Pilihan
Public baru As Boolean
Dim rsPilih As ADODB.Recordset
Private Sub cmdBatal_Click()
KunciTeks True
tombolAwal True
Adodc1.Recordset.Cancel
KosongkanForm
End Sub

Private Sub cmdHapus_Click()


On Error GoTo hapusErr
Dim pil
pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo +
vbDefaultButton2, "Konfirmasi")
If pil = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveLast
MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi"
End If
Exit Sub
hapusErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub
Private Sub cmdKeluar_Click()
Me.Hide
End Sub

Private Sub cmdSimpan_Click()


konek_db
On Error GoTo simpanErr
Dim rsCek As ADODB.Recordset

Universitas Sumatera Utara


If txtIDpilihan.Text = "" Or txtPilihan.Text = "" Then
MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation,
"Peringatan"
txtIDpilihan.SetFocus
Else
Set rsCek = New ADODB.Recordset
rsCek.Open "select * from tb_pilihan where Id_pilihan='" & txtIDpilihan.Text & "'",
conn, 1, 2
If Not rsCek.EOF And baru Then
MsgBox "Data dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti
dengan kode yang lain !", vbExclamation, "Peringatan"
txtIDpilihan.SetFocus: SendKeys "{HOME}+{END}"
Else
With Adodc1.Recordset
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "insert into tb_pilihan values ('" & txtIDpilihan.Text & "', '" &
txtPilihan.Text & "')", conn, 1, 2
If rstb_pilihan.BOF Then .AddNew
.Update

MsgBox "Data berhasil disimpan !", vbInformation, "Informasi"


KunciTeks True
tombolAwal True
KosongkanForm
End With
End If
End If
Exit Sub
diskonek_db
simpanErr:
MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub

Universitas Sumatera Utara


Private Sub cmdTambah_Click()
baru = True
KunciTeks False
tombolAwal False
txtIDpilihan.SetFocus
End Sub

Sub tombolAwal(kunci As Boolean)


cmdTambah.Enabled = kunci
cmdSimpan.Enabled = Not kunci
cmdBatal.Enabled = Not kunci
cmdUbah.Enabled = kunci
cmdHapus.Enabled = kunci
cmdKeluar.Enabled = kunci
End Sub

Private Sub cmdUbah_Click()


On Error GoTo ubahErr
KunciTeks False
tombolAwal False

With Adodc1.Recordset
Set rstb_pilihan = New ADODB.Recordset
rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2

txtIDpilihan.Text = rstb_pilihan!Id_pilihan
txtPilihan.Text = rstb_pilihan!pilihan
End With
txtIDpilihan.SetFocus
baru = False
Exit Sub
ubahErr:

Universitas Sumatera Utara


MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan"
End Sub

Private Sub form_load()


KunciTeks True
tombolAwal True
Adodc1.ConnectionString = conn.ConnectionString
Adodc1.RecordSource = "select * from tb_pilihan"
Set DataGrid1.DataSource = Adodc1
DataGrid1.Columns(0).Width = 400
End Sub

Sub KosongkanForm()
txtIDpilihan.Text = " "
txtPilihan.Text = ""
End Sub

Sub KunciTeks(kunci As Boolean)


txtIDpilihan.Locked = kunci
txtPilihan.Locked = kunci
End Sub

12. Form Utama


Private Sub close_Click()
Dim pesan
pesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo +
vbDefaultButton2, "Konfirmasi")
If pesan = vbYes Then
Unload Me
End If
End Sub

Universitas Sumatera Utara


Private Sub cmdLogin_Click()
Dim pesan
pesan = MsgBox("Selamat Datang, Silakan Login", vbYes, "Konfirmasi")
frmLogin.Show vbModal
End Sub

Private Sub cmdMe_Click()


frmMe.Show vbModal
End Sub

Private Sub edda_Click()


frmLogin.Show vbModal
End Sub
Private Sub form_load()
konek_db
End Sub
Private Sub form_activate()
Call form_load
End Sub

Private Sub Form_Unload(Cancel As Integer)


diskonek_db
Unload Me
End
End Sub
Private Sub mati_Click()
Dim pesan
pesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo +
vbDefaultButton2, "Konfirmasi")
If pesan = vbYes Then
frmLogin.Show
Me.Hide
End If

Universitas Sumatera Utara


End Sub

Private Sub me_Click()


frmProgramIni.Show vbModal
End Sub

Private Sub saya_Click()


frmMe.Show vbModal
End Sub

Universitas Sumatera Utara

Anda mungkin juga menyukai