Aplikasi Sistem Pakar Penentuan Hukum Fiqih Menggunakan Visual Basic 6.0

(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

MEDAN

2012


(2)

APLIKASI SISTEM PAKAR PENENTUAN HUKUM FIQIH

MENGGUNAKAN VISUAL BASIC 6.0

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar

Ahli Madya

WAHYU RAMADHAN

092406057

PROGRAM STUDI D3 TEKNIK INFORMATIKA

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2012


(3)

ABSTRAK

Saat ini, kebanyakan masyarakat enggan dan malu untuk bertanya kepada ahlinya dalam dunia hukum fiqih. Ditambah lagi dengan sifat masyarakat yang saat ini menginginkan semua hal dapat diselesaikan dengan cepat dan mudah. Salah satu upaya yang dapat dilakukan untuk mengatasi hal tersebut adalah dengan merancang sebuah aplikasi sistem pakar penentuan hukum fiqih. Sehingga terbentuk aplikasi yang dapat mempermudah dan mempercepat pengguna dalam menentukan hukum fiqih dari masalah yang sedang atau telah dialami.


(4)

DAFTAR ISI

Halaman

Abstrak i

Daftar Isi ii

BAB 1 PENDAHULUAN

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Maksud dan Tujuan 3

1.5 Metode Pengumpulan Data 3

1.6 Sistematika Penulisan 5

BAB 2 LANDASAN TEORI

2.1 Pengertian Sistem Pakar 6

2.2 Konsep Umum Sistem Pakar 10

2.3 Struktur Sistem Pakar 12

2.3.1 Antarmuka Pengguna (user interface) 13

2.3.2 Basis Pengetahuan 14

2.3.3 Akuisisi Pengetahuan 14

2.3.4 Mesin Inferensi 16

2.3.5 Workplace 17

2.3.6 Fasilitas Penjelasan 18

2.3.7 Perbaikan Pengetahuan 18

2.4 Ciri-ciri dan Kategori Masalah Sistem Pakar 18

2.5 Keuntungan Sistem Pakar 21

2.6 Kelemahan Sistem Pakar 21

2.7 Membangun Sistem Pakar 22

2.8 Mengembangkan Sistem Pakar 23

2.9 Microsoft Visual Basic 6.0 23

2.9.1 Tampilan (interface) Visual Basic 6.0 25 2.9.2 Konsep Dasar Pemrograman Visual Basic 6.0 30

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem 31

3.2 Perancangan Sistem 32

3.2.1 Flowchart sistem 32

3.2.2 Pengolahan Data (database) 34

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

3.3 Spesifikasi Proses 38

3.4 Perancangan Antarmuka (interface) 39

3.4.1 Rancangan form selamat datang 40

3.4.2 Rancangan form login 40

3.4.3 Rancangan form admin 41

3.4.4 Rancangan form tambah pilihan 41


(5)

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

BAB 4 IMPLEMENTASI SISTEM

4.1 Menu Selamat Datang 45

4.2 Menu Login 46

4.3 Menu Admin 46

4.4 Menu Tambah Kategori Pilihan 47

4.5 Menu Tambah Solusi 48

4.6 Menu Pemilihan Kategori 48

4.7 Menu Pendekatan Masalah 49

4.8 Menu Hasil Pendekatan 50

4.9 Menu Dasar Kesimpulan 50

4.10 Menu Tentang Pembuat 51

4.11 Menu Tentang Program 52

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 53

5.2 Saran 53

DAFTAR PUSTAKA LAMPIRAN PROGRAM


(6)

ABSTRAK

Saat ini, kebanyakan masyarakat enggan dan malu untuk bertanya kepada ahlinya dalam dunia hukum fiqih. Ditambah lagi dengan sifat masyarakat yang saat ini menginginkan semua hal dapat diselesaikan dengan cepat dan mudah. Salah satu upaya yang dapat dilakukan untuk mengatasi hal tersebut adalah dengan merancang sebuah aplikasi sistem pakar penentuan hukum fiqih. Sehingga terbentuk aplikasi yang dapat mempermudah dan mempercepat pengguna dalam menentukan hukum fiqih dari masalah yang sedang atau telah dialami.


(7)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

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

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

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


(8)

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

1.2 Rumusan Masalah

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

1.3 Batasan Masalah

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

a. Pemrograman yang digunakan untuk merancang aplikasi ini yaitu Pemrograman Visual Basic 6.0.

b. Pendekatan-pendekatan yang dilakukan untuk mendapatkan kesimpulan adalah dengan memberikan pertanyaan-pertanyaan yang disimpan dalam database, yaitu VisData.

c. Aplikasi ini dirancang tidak terkoneksi ke internet.

d. Aplikasi ini dibuat berdasarkan buku-buku Fiqih dan informasi yang diperoleh melalui media internet dan juga hasil konsultasi dari beberapa ahli dalam Fiqih.


(9)

1.4 Maksud dan Tujuan

Adapun maksud dan tujuan pembuatan aplikasi ini adalah:

a. Untuk membuat tugas akhir sebagai salah satu syarat menyelesaikan program pendidikan Diploma III di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

b. Sebagai bentuk penerapan ilmu yang telah dipelajari semasa perkuliahan secara nyata dan aplikatif.

c. Untuk mempermudah mengetahui hukum-hukum Fiqih dari suatu perkara. d. Untuk memanfaatkan Pemrograman Visual Basic 6.0 sebagai pemrograman

pokok dalam perancangan aplikasi ini.

e. Untuk memberikan kemudahan kepada pengguna dalam menentukan hukun-hukum Fiqih dari suatu perkara.

f. Untuk memberikan inovasi baru dalam bidang hukum Fiqih.

1.5 Metode Pengumpulan Data

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

a. Pembelajaran literatur

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

b. Wawancara

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


(10)

c. Perancangan dan Pengkodean

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

d. Pengujian Program

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

e. Konsultasi dengan dosen pembimbing

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

1.6. Sistematika Penulisan

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

BAB 1 Pendahuluan

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, metode

pengumpulan data serta sistematika penulisan.

BAB 2 Landasan Teori

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


(11)

BAB 3 Analisis dan Perancangan Sistem

Bab ini membahas tentang perancangan aplikasi untuk mengetahui hukum Fiqih dari suatu perkara yang diperoleh melalalui pertannyaan-pertanyaan yang diajukan oleh sistem.

BAB 4 Implementasi Sistem

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

BAB 5 Kesimpulan dan Saran

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


(12)

BAB 2

LANDASAN TEORI

2.1 Pengertian Sistem Pakar

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

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


(13)

Gambar 2.1.1 Ruang lingkup Artificial Intelligence (Kecerdasan Buatan)

Walaupun tujuan umum masih jauh dari apa yang diharapkan, namun sistem pakar berfungsi sangat baik dalam batasan domainnya. Dengan kata lain sistem pakar dibuat hanya pada domain pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia dalam satu bidang tertentu.

Sistem pakar adalah salah satu cabang dari kecerdasan buatan yang membuat penggunaan secara luas knowledge yang khususu untuk penyelesaian masalah tingkat manusia yang pakar. Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tetentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya. Ketika sistem pakar dikembangkan pertama kali sekitar tahun 70-an, sistem pakar hanya berisi knowledge yang eksklusif. Namun demikian, sekarang ini istilah sistem pakar sudah digunakan untuk berbagai macam sistem yang menggunakan teknologi sistem pakar tersebut. Teknologi sistem pakar ini meliputi bahasa sistem pakar, program dan perangkat keras yang dirancang untuk membantu pengembangan dan pembuatan siatem pakar.

Knowledge dalam sistem pakar mungkin saja seorang ahli, atau kemampuan yang terdapat dalam buku, majalah dan orang yang mempunyai pengetahuan tentang suatu bidang. Istilah sistem pakar, sistem knowledge-base, atau sistem pakar knowledge-base, sering digunakan dengan arti yang sama. Namun kebanyakan orang

Robotika

Pengenalan Pola Sistem Pakar

Sistem Saraf Tiruan Pengolahan

Bahasa Alami

Penglihatan Komputer


(14)

menggunakan istilah sistem pakar karena lebih singkat, bahkan walau belum benar-benar pakar, hanya menggunakan knowledge secara umum.

Gambar 2.1.2 menggambarkan konsep dasar suatu sistem pakar knowledge-base. Pengguna menyampaikan fakta atau informasi untuk sistem pakar dan keudian menerima saran dari pakar atau jawaban ahlinya. Dalam sistem pakar terdapat dua komponen utama, yaitu basis pengetahuan (Knowledge Base) yang berisi pengetahuan atau knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respons dari sistem pakar atas permintaan pengguna.

Gambar 2.1.2 Konsep Dasar Fungsi Sistem Pakar

Penggunaan sistem knowledge-base (basis pengetahuan) juga dirancang untuk menentukan penalaran atas masalah yang dihadapi. Suatu knowledge dari sistem pakar bersifat khusus untuk suatu domain masalah saja. Domain masalah adalah bidang atau ruang lingkup khusus, seperti kedokteran, bisnis, ilmu pengetahuan atau teknik. Sistem pakar menyerupai kepakaran manusia yang secara umum dirancang untuk menjadi pakar dalam satu domain masalah saja. Knowledge dari sistem pakar tentang penyelesaian masalah yang khusus disebut domain knowledge dari suatu pakar. Hubungan antara domain masalah dengan domain knowledge dapat dilihat pada gambar 2.3 yang menggambarkan bahwa domain knowledge secara keseluruhan merupakan bagian dari domain masalah.

USER

Sistem Pakar

Knowledge-Base

Mesin Inferensi

Fakta


(15)

Gambar 2.1.3 Hubungan antara domain masalah dengan domain knowledge.

Seorang pakar dengan sistem pakar mempunyai banyak perbedaan. Darkin (1994) mengemukakan perbandingan kemampuan antara seorang pakar dengan sebuah sistem pakar seperti pada tabel 2.1 berikut ini:

Tabel 2.1 Perbandingan kemampuan seorang pakar dengan sistem pakar

Faktor Seorang Pakar Sistem Pakar

Time availibity Hari kerja Setiap saat

Geografis Lokal/tertentu Di mana saja

Keamanan Tidak tergantikan Daapt diganti

Perishable/dapat habis Ya Tidak

Performansi Variabel/fluktuatif Konsisten

Kecepatan Variabel/fluktuatif Konsisten

Biaya Tinggi Terjangkau

Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seorang pakar, di antaranya:

Domain Masalah

Domain Pengetahuan


(16)

1. Dapat menyediakan kepakaran setiap waktu dan dimana saja.

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

3. Seorang pakar akan pension atau pergi. 4. Seorang pakar adalah mahal.

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

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

1. Knowledge Acquisition (dari pakar atau sumber lainnya) 2. Knowledge Representation (ke dalam komputer)

3. Knowledge Inferencing 4. Knowledge Transfering

2.2 Konsep Umum Sistem Pakar

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

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


(17)

1. Fakta-fakta pada lingkup permasalahan tertentu. 2. Teori-teori pada lingkup permasalahan tertentu.

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

4. Strategi-strategi global untuk menyelesaikan masalah. 5. Meta-knowledge (pengetahuan tentang pengetahuan).

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

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

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

1. Pakar

Pakar adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode serta kemampuan untukmengaplikasikan keahliannya tersebut guna menyelesaikan masalah.


(18)

2. Perekayasa Sistem

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

3. Pengguna

Sistem pakar memiliki beberapa pengguna, yaitu: pemakai bukan pakar, pelajar, pembangun sistem pakar yang ingin mengingatkan dan menambah basis pengetahuan dan pakar.

2.3 Struktur Sistem Pakar

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


(19)

LINGKUNGAN KONSULTASI LINGKUNGAN PENGEMBANGAN

Fakta tentang kejadian tertentu

Gambar 2.3.1 Struktur Sistem Pakar

Komponen-komponen yang terdapat dalam sistem pakar adalah seperti yang terdapat pada gambar di atas, yaitu user interface (antarmuka pengguna), basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan dan perbaikan pengetahuan.

2.3.1 Antarmuka Pengguna (User Interface)

User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka juga menerima informasi dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai. Menurut McLeod (1995), pada bagian ini terjadi dialog

Akuisisi Pengetahuan Pemakai Antar Muka Aksi yang direkomendasikan Fasilitas Penjelasan Aksi yang direkomendasikan Workplace Mesin Inferensi Perbaikan Pengetahuan Basis Pengetahuan

Fakta dan Aturan

Knowledge Engineer


(20)

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

2.3.2 Basis Pengetahuan

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

Dalam studi kasus pada sistem berbasis pengetahuan terdapat beberapa karakteristik yang dibangun untuk membantu kita di dalam membentuk serangkaian prinsip-prinsip arsitekturnya. Prinsip tersebut meliputi:

1. Pengetahuan merupakan kunci kekuatan sistem pakar. 2. Pengetahuan sering tidak pasti dan tidak lengkap. 3. Pengetahuan sering miskin spesifikasi.

4. Amatir menjadi ahli secara bertahap. 5. Sistem pakar harus fleksibel.

6. Sistem pakar harus transparan .

2.3.3 Akuisisi Pengetahuan

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


(21)

1. Wawancara

Wawancara adalah metode akuisisi yang paling banyak digunakan. Metode ini melibatkan pembicaraan dengan pakar secara langsung dalam suatu wawancara. Terdapat beberapa bentuk wawancara yang dapat digunakan, masing-masing bentuk tersebut memiliki tujuan yang berbeda.

a. Contoh masalah (kasus) b. Wawanvara klasifikasi

c. Wawancara terarah (directed interview)

d. Diskusi kasus dalam konteks sebuah prototype sistem. 2. Analisis protokol

Dalam metode ini, pakar diminta untuk melakukan suatu pekerjaan dan mengungkapkan proses pemikirannya. Pekerjaan tersebut direkam, dituliskan dan dianalisis.

3. Observasi pada pekerjaan pakar

Dalam metode ini, pekerjaan dalam bidang pakar tertentu yang dilakukan pakar direkam dan diobservasi.

4. Induksi aturan yang dibatasi untuk sistem berbasis aturan

Induksi adalah suatu proses penalaran dari khusus ke umum. Suatu sistem induksi aturan diberi contoh-contoh dari suatu masalah yang hasilnya telah diketahui. Setelah itu, induksi aturan tersebut dapat membuat aturan yang benar untuk kasus-kasus contoh. Selanjutnya aturan tersebut dapat digunakan untuk menilai kasus-kasus lain yang hasilnya tidak diketahui.

Akuisisi pengetahuan dilakukan sepanjang proses pembangunan sistem. Menurut Fireburg (1989), proses akuisisi pengetahuan dibagi ke dalam enam tahap, yaitu:


(22)

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

2. Tahap konseptualisasi merupakan tahap kelanjutan dari tahap peratama yang membuat konsep-konsep kunci dan hubungannya pada tahap tersebut menjadi lebih jelas.

3. Tahap formalisasi, meliputi pemetaan konsep-konsep kunci, sub masalah dan bentuk aliran informasi yang telah ditentukan dalam tahap-tahap sebelumnya ke dalam representasi formasi yang paling sesuai dengan masalah yang ada.

4. Tahap implementasi, meliputi pemetaan pengetahuan dari tahap sebelumnya yang telah diformalisasi ke dalam skema representasi pengetahuan yang dipilih.

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

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

2.3.4 Mesin Inferensi

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

Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu pelacakan ke belakang (backward chaining) atau dalam salah


(23)

satu buku biasa disebut dengan runut balik (top-down) dan pelacakan ke depan (forward chaining) yang sering disebut sebagai runut maju (bottom-up). Backward chaining adalah proses penalaran yang berawal dari tujuan, kemudian menelusuri fakta-fakta yang mendukung untuk mencapai tujuan tersebut. Sementara forward chaining merupakan kebalikan dari backward chaining, yaitu proses penalaran yang bermula dari fakta-fakta yang diketahui untuk mencapai tujuan yang diinginkan.

Tabel 2.3.4.1 Karakteristik formard dan backward chaining

Forward chaining Backward chaining

Perencanaan, pengawasan, kontrol Diagnosisi

Disajikan untuk masa depan Disajikan untuk masa lalu Data memandu penalaran dari bawah ke

atas

Tujuan pemandu penalaran dari atas ke bawah

Bekerja ke depan untuk mendapatkan solusi apa yang mengikuti fakta

Bekerja ke belakang untuk mendapatkan fakta yang mendukung hipotesis

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

2.3.5 Workplace

Workplace merupakan area dari sekumpulan memori kerja (working memory). memori kerja merupakan bagian dari sistem pakar yang menyimpan fakta-fakta yang diperoleh saat dilakukan proses konsultasi. Fakta-fakta inilah yang nanti akan diolah oleh mesin inferensi berdasarkan pengetahuan yang disimpan dalam basis pengetahuan untuk menentukan suatu keputusan pemecahan masalah. Hasilnya dapat berupa hasil diagnosis, tindakan ataupun akibat.


(24)

2.3.6 Fasilitas Penjelasan

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

2.3.7 Perbaikan Pengetahuan

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

2.4 Ciri-ciri dan Kategori Masalah Sistem Pakar

Sistem pakar merupakan program-program praktis yang menggunakan strategi heuristik yang dikembangkan manusia untuk menyelesaikan permasalahan-permasalahan yang khusus, disebabkan oelh keheuristikannya dan sifatnya yang berdasarkan pengetahuan, maka umumnya sistem pakar bersifat :

a. Memiliki informasi yang handal, baik dalam menampilkan langkah-langkah maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian. b. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu

kemampuan dari basis pengetahuannya.

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

d. Dapat digunakan dalam berbagai jenis komputer. e. Memiliki kemampuan beradaptasi.


(25)

Sistem pakar saat ini telah dibuat untuk memecahakan berbagai macam permasalahan dalam berbagai bidang seperti matematika, teknik, kedokteran, kimia, farmasi, komputer, hukum dan lain sebagainya. Secara umum, ada beberapa kategori dan area peramasalahan sistem pakar, yaitu:

1. Interpretasi

Interpetasi merupakan pengambilan keputusan atau deskripsi tingkat tinggi dari sekumpulan data mentah, termasuk di dalamnya juga pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal dan beberapa analisis kecerdasan.

2. Proyeksi

Proyeksi merupakan memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu.

3. Diagnosis

Diagnosis merupakan sebab melfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang didapati, diantaranya medis, elektronis, mekanis dan diagnosis perangkat lunak.

4. Desain

Desain yaitu menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuankinerja tertentu yang memenuhi kendala-kendala tertentu. Diantaranya adalah layout sirkulasi dan perancangan pembangunan.

5. Perencanaan

Perencanaan yaitu merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya perencanaan keuangan, komunikasi, pengembangan produk dan manajemen produk.


(26)

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

7. Debugging dan repair

Debugging dan repair yaitu menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi dan memperbaiki kesalahan yang terjadi pada fungsi atau sistem.

8. Instruksi

Intruksi yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek, diantaranya melakukan instruksi untuk diagnosis, debugging dan perbaiakan.

9. Kontrol (Pengendalian)

Pengendalian yaitu mengatur tingkah laku suatu lingkungan yang kompleks seperti kontrol terhadap interpretasi-interpretasi, prediksi, perbaikan dan pengawasan.

10.Seleksi

Seleksi yaitu mengidentifikasi pilihan terbaik dari sekumpulan kemungkinan. 11.Simulasi

Simulasi yaitu pemodelan interaksi antara komponen-komponen sistem.

2.5 Keuntungan Sistem Pakar

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

1. Menjadikan pengetahuan dan nasihat lebih mudah didapat. 2. Meningkatkan keluaran dan produktivitas.


(27)

3. Menyimpan kemampuan dan keahlian pakar. 4. Memberikan jawaban yang cepat.

5. Dapat bekerja dengan informasi ynag kurang lengkap dan mengandung ketidakpastian.

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

7. Sistem pakar menyediakan nasihat yang konsisten dan dapat mengurangi tingkat kesalahan.

8. Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai dimana saja.

2.6 Kelemahan Sistem Pakar

Selain memiliki keuntungan-keuntungan seperti yang telah dijelaskan sebelumnya, sistem pakar juga memiliki beberapa kelemahan, antara lain:

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

2. Masalah dalam mendapatkan pengetahuan di mana pengetahuan tidak selalu bisa didapatkan dengan mudah, karena kadangkala pakar dari masalah yang kita buat tidak ada, kalaupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda.

3. Sistem pakar tidaklah sepenuhnya menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu, perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini manusia tetap memegang peranan yang paling dominan.


(28)

2.7 Membangun Sistem Pakar

Proses pembangunan suatu sistem pakar dikenal juga sebagai rekayasa pengetahuan. Pembanguna sistem pakar melibatkan pembinaan dasar pengetahuan dengan melibatkan pakar. Pengetahuan dalam pembangunan sistem pakar biasanya dibagi atas fakta dan prosedur. Gambar 2.7.1 menggambarkan sebelum membangun suatu sistem pakar maka sistem analis mengkaji terlebih dahulu domain permasalahan yang akan dibuat.

Sistem Analis

Gambar 2.7.1 Langkah-langkah membangun sistem pakar

2.8 Mengembangkan Sistem Pakar

Pada pengembangan sistem pakar diperlukan beberapa tahapan agar dapat menghasilkan suatu sistem yang berhubungan dengan tahapan hingga suatu sistem terwujud. Tahapan-tahapan tersebut dapat dilihat pada gambar berikut ini:

1 Kajian domain masalahnya 2 Defenisi masalah 3 Jelaskan kumpulan kaidahnya 4 Uji sistem prototipenya 5 Bangun antarmuka 6 Lakukan pengujian ke pengguna 7 Sistem berfungsi dengan baik 8 Penyempurnaan Sistem


(29)

Reformulasi

Kebutuhan Eksplorasi

Pengetahuan Perbaikan

Struktur

Evaluasi

Produk

Gambar 2.8.1 Tahap-tahap pengembangan sistem pakar

2.9 Microsoft Visual Basic 6.0

Bahasa pemrograman yang akan kita gunakan dalam pembuatan aplikasi sistem pakar ini adalah Microsoft Visual Basic 6.0. Microsoft Visual Basic merupakan bahasa pemrograman komputer yang secara cepat dan mudah dapat digunakan untuk membuat aplikasi pada Microsoft Windows. Beberapa keuntungan menggunakan Visual Basic 6.0 dianataranya:

1. Penggunaannya sangat mudah terutama bagi pengguna yang baru mengenal bahasa pemrograman komputer.

Tahap 1: Penilaian keadaan

Tahap 2: Koleksi Pengetahuan

Tahap 3: Perancangan

Tahap 4: Pengujian

Tahap 5: Dokumentasi


(30)

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

Gambar 2.9.1 Kotak dialog new project pada Visual Basic 6.0

2.9.1 Tampilan (Interface) Visual Basic 6.0

Interface atau dalam beberapa buku dinamakan Integreted Development Environtment (IDE) Visual Baisc 6.0 adalah pusat pengembangan program, karena semua kegiatan pengembangan program berkangsung secara terintegrasi. Berikut ini merupakan tampilan IDE Visual Basic 6.0 :

Gambar 2.9.1.1 Tampilan utama Microsoft Visual Basic 6.0 Visual Basic 6.0 membagi tampilan utamanya menjadi beberapa bagian, yaitu:


(31)

1. Menu Bar

Gambar 2.9.1.2 Menu Bar

Menu Bar digunakan untuk memilih tugas-tugas tertentu seperti menyimpan, membuka project dan lain-lain yang terdiri dari File, Edit, View, Project, Formst, Debug, Run, Query, Diagram, Tools, Add-Ins, Windows Dan Help.

2. Toolbar

Gambar 2.9.1.3 Toolbar

Toolbar digunakan untuk mengakses perintah-perintah dalam menu yang sering dipakai secara cepat.

3. Jendela Project

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

Gambar 2.9.1.4 Jendela project

4. Jendela Form

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


(32)

Gambar 2.9.1.5 Jendela form 5. Toolbox

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

Gambar 2.9.1.6 Toolbox

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


(33)

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

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

3. CommandBotton digunakan untuk membuat suatu tombol perintah eksekusi. 4. OptionBotton digunakan sebagai sarana pemilihan terhadap beberapa pilihan

yang hanya dapat dipilih satu.

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

6. VScrollBar digunakan untuk membentuk scrollbar sendiri.

7. DriveListBox sering digunakan untuk membentuk dialogbox yang berkaitan dengan file.

8. FileListBox sering digunakan untuk membentuk dialogbox yang berkaitan dengan file.

9. Line digunakan untuk membuat objek berbentuk garis. 10. Data

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

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

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

14. CheckBox digunakan untuk pilihan yang isinya bernilai yes/no atau true/false. 15. ListBox mengandung sejumlah item dan user dapat memilih lebih dari satu. 16. HScrollBar digunakan untuk membentuk scrollbar sendiri secara horizontal.


(34)

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

18. DirListBox sering digunakan untuk membentuk dialogbox yang berkaitan dengan file.

19. Shape digunakan untuk membuat objek dalam bentuk persegi, bulat dan oval. 20. Image digunakan untuk menampilkan gambar yang digunakan dalam program. 21. OLE digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel,

Word dan lain-lain. 6. Jendela Code

Gambar 2.9.1.7 Jendela code (source code editor)

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


(35)

7. Jendela Properties

Gambar 2.9.1.8 Jendela Properties

Jendela ini digunakan untuk mengatur property dari komponen-komponen yang sedang diaktifkan. Properties merupakan karakteristik dari sebuah objek.

2.9.2 Konsep Dasar Pemrograman Visual Basic 6.0

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

1. Property adalah karakteristik yang melekat pada sebuah objek yang menunjukkan ciri suatu objek.

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

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


(36)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

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

1. Identifikasi masalah, kesempatan dan tujuan

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

2. Menentukan kebtuhan informasi

Pada tahap ini seorang analis membutuhkan variable-variabel data yang dibutuhkan sebagai bahan dasar pembuatan sebuah sistem informasi. Ada beberapa cara yang dapat kita lakukan dalam pengumpulan data yang dibutuhkan sistem, antara lain:

a. Interview, yaitu proses pengumpulan data dengan melakukan wawancara/dialog mengenai apa saja yang dibutuhkan oleh seorang analis.

b. Questionnaire, yaitu penyusunan sejumlah pertanyaan mengenai komponen-komponen yang dibutuhkan dalam proses pembuatan program.


(37)

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

3. Analisis kebutuhan sistem

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

4. Model analisis

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

Terminator Proses

Storage (Sumber data) Tabel 3.1 Notasi DFD

3.2 Perancangan Sistem 3.2.1 Flowchart sistem

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


(38)

No

Yes

No Yes

Yes

No Yes

Yes No

Yes No

Yes Yes

No

Yes

No Yes

Yes

Yes No

Gambar 3.2.1 Flowchart Sistem START

Selamat datang

Login Admin

User

Pilih Permasalahan

Pengajuan Pertanyaan

Tampilan Analsis/hasil

Tampilan solusi/alasan Cetak

Penutup

STOP

Input Basis Pengetahuan


(39)

3.2.2 Pengolahan Data (Database)

Dalam perancangan sebuah sistem kebutuhan akan data sangatlah penting, karena dengan data tersebut sebuah sistem bekerja dan dapat dikatakan sebagai sistem yang kompleks. Oleh karena itu dibutuhkan sebuah cara pemrosesan data-data tersebut yang kita kenal dengan sebutan database. Database yang digunakan pada sistem ini adalah Microsoft Access yang perancangan databasenya dirancang menggunakan aplikasi VisData yang telah disediakan oleh Microsof Visual Basic 6.0. Adapun database yang digunakan adalah hukumFiqih.mdb. Jadi semua data yang telah didapat dari hasil pengumpulan data akan diolah malalui database ini. Adapun tabel yang digunakan dalam database ini, antara lain:

a. Tabel User

Nama Field Data Type

Id_user Text

Username Text

password Text

status Text

Tabel 3.2 Tabel user

b. Tabel Pendekatan (pengetahuan)

Nama Field Data Type

Id_pendekatan Text

Petanyaan Text

Fakta Ya Text

Ya

Id_pilihan Text


(40)

c. Tabel Pilihan

Nama Field Data Type

Id_pilihan Text

Pilihan Text

Tabel 3.4 Tabel pilihan

d. Tabel Alasan

Nama Field Data Type

Id_alasan Text

Alasan Text

Tabel 3.5 Tabel alasan

e. Tabel Solusi

Nama Field Data Type

Id_solusi Text

Solusi Text

Tabel 3.6 Tabel solusi

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

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


(41)

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

Login logout

informasi login

hukum fiqih

Gambar 3.2.3.1 DFD level 0 aplikasi penentuan hukum fiqih

Setelah DFD level 0 sudah ada, maka dari level 0 tersebut dapat dikembangkan kembali menjadi DFD level 1. Dan pada perancangan sistem ini penulis hanya membatasi DFD ini sampai level 1 saja. Pada level 1 ini terjadi tiga proses pada masing-masing entitas. Untuk lebih jelasnya akan digambarkan pada gambar berikut ini:

User

Admin Penentuan

Hukum Fiqih


(42)

Login Login simpan

Pertanyaan

Data pertanyaan Data pertanyaan

Jawaban

Data analisis Data analisis

Analisis jawaban

Data keputusan

Gambar 3.2.3.2 DFD level 1 aplikasi penentuan hukum fiqih USER 1.0 Memilih kategori permasalah 1.1 Memilih pertanyaan 1.2 Melihat hasil analisis 1.3 Melihat Keputusan akhir/hasil 1.0 Mengisi nama dan password 1.3 Mengecek database 1.2 Menginput Analisis/pili han 1.1 Menginput pertanyaan ADMIN Admin Kumpulan Pertanyaan Analisa jawaban Analisa solusi Keputusan i n f o r m a s i


(43)

3.3 Spesifikasi Proses

1. Proses Login

Proses 1.0 (administrator) Login

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

b. Proses : Administrator memasukkan nama dan password kemudian ke menu admin.

c. Keluaran : Administrator masuk ke menu admin.

2. Proses Interpretasi

Proses 1.1 (user) pertanyaan

a. Masukkan : Pilihan pengguna.

b. Proses : Pengguna memilih kategori masalah dan sistem akan

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

c. Keluaran : Jawaban pertanyaan yang dipilih oleh pengguna dan

menampilkan analisis jawaban berupa alasan jawaban yang ditampilkan.


(44)

3. Proses Pengetahuan

Proses 1.1 (administrator) input pertanyaan

a. Masukkan : id_pendekatan. Id_pilihan, pertanyaan, fakata ya, ya dan pilihan menu edit.

b. Proses : Administrator memasukkan data masukkan dan kemudian menyimpannya ke database.

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

4. Proses Hasil Analisis

Proses 1.2

a. Masukkan : Id_solusi, solusi

b. Proses : Administrator memasukkan data masukkan dan kemudian menyimpannya ke database.

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

3.4 Perancangan Antarmuka (Interface)

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

1. Perancangan antarmuka untuk administrator

Antarmuka ini dirancang untuk memberikan kemudahan kepada administrator untuk melakukan pengolahan data.


(45)

2. Perancangan antarmuka untuk pengguna

Antarmuka ini dirancang untuk menentukan hukum fiqih dari sebuah masalah yang dipilih oleh pengguna untuk mendapatkan hasil berupa kesimpulan dari masalah yang dipilih.

3.4.1 Rancangan form selamat datang

a. v Proses : Administrator memasukkan nama dan password kemudian

Gambar 3.4.1 Rancangan form selamat datang

3.4.2 Rancangan form login

Gambar 3.4.2 Rancangan form login

JUDUL

Login

About Me Menu

Text Judul

Frame login

Gambar

Level Username

Password

Keluar Masuk


(46)

2.4.3 Rancangan form admin

Gambar 2.4.3 Rancangan form admin

2.4.4 Rancangan form tambah pilihan

Gambar 2.4.4 Rancangan form tambah pilihan

Simpan Tambah Ubah Batal Hapus Keluar

Id_pendekatan

Edit juga Id_pilihan

Pertanyaan

Fakta Ya

Jika Ya

Tabel Pendekatan

Simpan Tambah Ubah Batal Hapus Keluar

Id_pilihan Pilihan


(47)

2.4.5 Rancangan form tambah solusi

Gambar 2.4.5 Rancangan form tambah solusi

2.4.6 Rancangan form pilih kategori permasalahan

Gambar 2.4.6 Rancangan form pilih kategori permasalahan

2.4.7 Rancangan form pilih pertanyaan

2.4.7 Rancangan form pilih pertanyaan

Simpan Tambah Ubah Batal Hapus Keluar

Id_solusi Solusi Tabel Solusi

Pilih kategori permasalahan

Pilih Batal Keluar

Pilih pertanyaan

Tampilan pertanyaan


(48)

2.4.8 Rancangan form hasil pendekatan

Gambar 2.4.8 Rancangan form hasil pendekatan

2.4.9 Rancangan form dasar kesimpulan

Gambar 2.4.9 Rancangan form dasar kesimpulan Hasil Pendekatan

Alasan Ulangi Keluar

Dasar Kesimpulan


(49)

2.4.10 Rancangan form tentang pembuat

Gambar 2.4.10 Rancangan form tentang pembuat

2.4.11 Rancangan form tentang program

Gambar 2.4.11 Rancangan form tentang program Gambar

Label Penjelasan pembuat

Keluar

Label penjelassan program


(50)

BAB 4

IMPLEMENTASI SISTEM

4.1 Menu Selamat Datang

Menu selamat datang merupakan bagian pertama dari form ini dan sebagai pintu utama ke bagian-bagian berikutnya. Di dalam form ini terdapat menu sistem, data dan tentang. Menu sistem berisi menu log-off dan keluar sistem. Menu data berisi menu edit data yang berfungsi untuk merobah data pada sistem. Dan menu tentang berisi menu program ini yang berfungsi menampilkan penjelsasan aplikasi ini dan menu pembuat yang berfungsi menampilkan sekilas tentang pembuat sistem. Selain menu-menu tersebut dalam form ini juga terdapat tombol login yang digunakan untuk menuju ke menu login dan about me yang menampilkan sekilas tentang pembuat program.


(51)

4.2 Menu Login

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

Gambar 4.2 Menu login

4.3 Menu Admin

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


(52)

Gambar 4.3 Menu admin

4.4 Menu Tambah Kategori Pilihan

Menu ini merupakan menu yang hanya dapat diakses oleh administrator untuk melakukan penambahan kategori masalah yang akan digunakan oleh pengguna. Pada menu ini administrator dapat melakukan penambahan kategori pilihan.


(53)

4.5 Menu Kategori Tambah Solusi

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

Gambar 4.5 Menu kategori tambah solusi

4.6 Menu Pemilihan Kategori

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


(54)

Gambar 4.6 Menu pemilihan kategori

4.7 Menu Pendekatan Masalah

Setelah pengguna memilih kategori permasalahan pada menu sebelumnya, maka pengguna akan masuk ke menu pendekatan masalah. Menu pendekatan masalah ini dirancang agar setelah melakukan pemilihan permasalan pengguna dapat memilih pertanyaan-pertanyaan yang disediakan oleh sistem sesuai dengan kategori permasalahan yang telah dipilih.


(55)

4.8 Menu Hasil Pendekatan

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

Gambar 4.8 Menu hasil pendekatan

4.9 Menu Dasar Kesimpulan

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


(56)

Gambar 4.9 Menu dasar kesimpulan

4.10 Menu Tentang Pembuat


(57)

4.11 Menu Tentang Program


(58)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

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

1. Membutuhkan sumber pengetahuan yang sesuai dengan pakar yang dibutuhkan.

2. Membutuhkan banyak data dan informasi dalam pembuatan aplikasi ini. 3. Diperlukan ketelitian dan kesabaran dalam menyusun kode program.

4. Memahami dengan benar target pengguna aplikasi yang akan dibangun sehingga tidak kesulitan dalam perancangan antarmuka.

5.2 Saran

Walaupun penulis sudah berusaha sebaik mungkin dalam penyelesaian tugas ini, penulis menyadari masih terdapat banyak kekurangan di dalamnya. Untuk mengembangkan dan meningkatkan prinsip kerja aplikasi ini, maka ada beberapa saran yang perlu disampaikan penulis, antara lain:

1. dalam pembangunan sistem pakar, dibutuhkan arahan dan bantuan dari orang yang berpengalaman dalam suatu bidang tertentu.

2. Meningkatkan kemampuan dalam membuat interface yang menarik dan waktu yang cukup untuk membangun sistem pakar ini.

3. Penulis mengaharapkan sistem ini dapat dikembangkan untuk mencapai fungsi yang maksimal dan menambahkan keterangan-keterangan yang mempermudah pengguna dalam menggunakan aplikasi ini serta menambahkan


(59)

perintah-perintah atau pertanyaan-pertanyaan yang perlu dan aplikasi ini masih bersifat manual.

4. Aplikasi ini dapat dikembangkan dengan mengoneksikannya dengan internet. 5. Pada proses pendekatan masalah aplikasi ini masi manual dalam memberikan

pertanyaan-pertanyaan pendekatannya. Oleh karena itu diharapkan dapat secara otomatis dilakukan oleh pengguna dalam memberikan pertanyaan kepada sistem dan kemudian sistem dapat memberika keputusannya.


(60)

DAFTAR PUSTAKA

1. Karuniawan, Bagus. 2002. Sistem Informasi Manajemen dengan Visual Basic 6.0. Malang: ANDI.

2. Desiani, Anita, dan Muhammad Arhami,. 2006. Konsep Dasar Kecerdasan Buatan. Yogyakarta: ANDI.

3. Hartati, Sri, dan Sari Iswanti. 2008. Sistem Pakar dan Pengembangannya. Yogyakarta:Graha Ilmu.

4. Tim Peneliti dan Pengembangan MADCOMS. 3003. Aplikasi Database dan Crystal Report pada Visual basic 6.0. Yogyakarta: ANDI.

5. Putra, Indra.2004. Visual Basic 6.0. Batam: ANDI

6. Syarifuddin, Amir.2010. Garis-Garis Besar Fiqih. Jakarta: Kencana 7. Kamal, Abu Malik. 2008. Shahih Fiqih Sunnah. Jakarta: Pustaka Adzkia


(61)

LAMPIRAN

LIST PROGRAM

1. Modules

Public conn As New ADODB.Connection Public rstb_pendekatan As ADODB.Recordset Public rstb_solusi As ADODB.Recordset Public rstb_alasan As ADODB.Recordset Public rstb_pilihan As ADODB.Recordset Public rstb_user As ADODB.Recordset Public Sub konek_db()

On Error GoTo konekErr

If conn.State = 1 Then conn.close Set conn = New ADODB.Connection

Set rstb_pendekatan = New ADODB.Recordset Set rstb_solusi = New ADODB.Recordset Set rstb_alasan = New ADODB.Recordset Set rstb_piliham = New ADODB.Recordset Set rstb_user = New ADODB.Recordset

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\hukumFiqih.mdb;Persist Security Info=False"

Exit Sub konekErr:

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

Public Sub diskonek_db() conn.close

End Sub


(62)

Public baru As Boolean

Dim rsPilih As ADODB.Recordset

Private Sub cboedit_Click() If cboedit.Text = "Pilihan" Then frmTambahPilihan.Show vbModal Else

frmSolusi.Show vbModal End If

Me.Hide End Sub

Private Sub cmdBatal_Click() KunciTeks True

tombolAwal True

Adodc1.Recordset.Cancel KosongkanForm

End Sub

Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil

pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast

MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If

Exit Sub

hapusErr:


(63)

End Sub

Private Sub cmdKeluar_Click() Me.Hide

End Sub

Private Sub cmdRefresh_Click() DataGrid1.Refresh

End Sub

Private Sub cmdSimpan_Click() konek_db

On Error GoTo simpanErr

Dim rsCek As ADODB.Recordset

If txtidpendekatan.Text = "" Or txtidpilihan.Text = "" Or txtpertanyaan.Text = "" Then MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"

txtidpendekatan.SetFocus Else

Set rsCek = New ADODB.Recordset

rsCek.Open "select * from tb_pendekatan where Id_pendekatan='" & txtidpendekatan.Text & "'", conn, 1, 2

If Not rsCek.EOF And baru Then

MsgBox "Data dengan kode " & txtidpendekatan.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"

txtidpendekatan.SetFocus: SendKeys "{HOME}+{END}" Else

With Adodc1.Recordset

Set rstb_pendekatan = New ADODB.Recordset

rstb_pendekatan.Open "insert into tb_pendekatan values ('" & txtidpendekatan.Text & "', '" & txtpertanyaan.Text & "', '" & txtfYa.Text & "', '" & cboYa.Text & "', '" & txtidpilihan.Text & "')", conn, 1, 2


(64)

.Update

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

tombolAwal True KosongkanForm End With

End If End If Exit Sub diskonek_db simpanErr:

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

Private Sub cmdTambah_Click() baru = True

KunciTeks False tombolAwal False

txtidpendekatan.SetFocus End Sub

Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci

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

Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False


(65)

tombolAwal False

With Adodc1.Recordset

Set rstb_pendekatan = New ADODB.Recordset

rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2

txtidpendekatan.Text = rstb_pendekatan!Id_pendekatan txtidpilihan.Text = rstb_pendekatan!Id_pilihan

txtpertanyaan.Text = rstb_pendekatan!pertanyaan txtfYa.Text = rstb_pendekatan!FaktaYa

cboYa.Text = rstb_pendekatan!Ya

End With

txtidpendekatan.SetFocus

baru = False Exit Sub

ubahErr:

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

Private Sub form_load() KunciTeks True

tombolAwal True

Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_pendekatan" 'Adodc1.Refresh

Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 400 cboedit.AddItem "Solusi"

cboedit.AddItem "Pilihan" End Sub


(66)

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

cboYa.Text = Empty End Sub

Sub KunciTeks(kunci As Boolean) txtidpendekatan.Locked = kunci txtpertanyaan.Locked = kunci txtfYa.Locked = kunci

cboYa.Locked = kunci End Sub

3. Form Alasan

Private Sub Command1_Click() End

End Sub

Sub tampil() konek_db

LabelAlas.Caption = ""

Set rstb_alasan = New ADODB.Recordset

rstb_alasan.Open "select *from tb_alasan", conn, 1, 2 rstb_alasan.MoveFirst

Select Case frmPilihan.cboPilih.ListIndex Case 0

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


(67)

rstb_alasan.Find "Id_alasan='A2'" LabelAlas.Caption = rstb_alasan!alasan Case 2

rstb_alasan.Find "Id_alasan='A3'" LabelAlas.Caption = rstb_alasan!alasan Case 3

rstb_alasan.Find "Id_alasan='A4'" LabelAlas.Caption = rstb_alasan!alasan Case 4

rstb_alasan.Find "Id_alasan='A5'" LabelAlas.Caption = rstb_alasan!alasan Case 5

rstb_alasan.Find "Id_alasan='A6'" LabelAlas.Caption = rstb_alasan!alasan Case 6

rstb_alasan.Find "Id_alasan='A7'" LabelAlas.Caption = rstb_alasan!alasan Case 7

rstb_alasan.Find "Id_alasan='A8'" LabelAlas.Caption = rstb_alasan!alasan End Select

End Sub

Private Sub form_load() tampil

End Sub

4. Form Hasil Pendekatan

Private Sub cmdAlasan_Click() frmAlasan.Show vbModal End Sub


(68)

Me.Hide

frmPendekatan.Hide frmPilihan.Hide End Sub

Private Sub form_load() tampil

End Sub

Sub tampil() konek_db

Set rstb_pendekatan = New ADODB.Recordset

rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2

rstb_pendekatan.MoveFirst

Select Case frmPilihan.cboPilih.ListIndex Case 0

rstb_pendekatan.Find "Id_pendekatan='PD1'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 1

rstb_pendekatan.Find "Id_pendekatan='PD4'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 2

rstb_pendekatan.Find "Id_pendekatan='PD7'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 3

rstb_pendekatan.Find "Id_pendekatan='PD10'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 4

rstb_pendekatan.Find "Id_pendekatan='PD13'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 5


(69)

Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 6

rstb_pendekatan.Find "Id_pendekatan='PD15'" Labelhasil.Caption = rstb_pendekatan!FaktaYa Case 7

rstb_pendekatan.Find "Id_pendekatan='PD18'" Labelhasil.Caption = rstb_pendekatan!FaktaYa End Select

rstb_pendekatan.close diskonek_db

End Sub

5. Form Login

Private Sub cmdKeluar_Click() Unload Me

End Sub

Private Sub cmdMasuk_Click() On Error GoTo login_err

If cboLevel.Text = "Pengguna" Then txtUser = "Pengguna"

frmPilihan.Show vbModal Unload Me

Exit Sub Else

Set rstb_user = New ADODB.Recordset

rstb_user.Open "select *from tb_user where " & "username='" & txtUser.Text & "' and " & "password='" & txtPass.Text & "'", conn, 1, 2

If Not rstb_user.EOF Then MsgBox "login berhasil" frmAdmin.Show vbModal Unload Me


(70)

MsgBox "login gagal" End If

rstb_user.close End If

login_err:

MsgBox Err.Description End Sub

Private Sub form_load()

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

6. Form Me

Private Sub Command1_Click() Unload Me

End Sub

7. Form Pendekatan

Private Sub cmdSelesai_Click() Unload Me

End Sub

Private Sub cmdYa_Click() On Error Resume Next

Set rstb_pertanyaan = New ADODB.Recordset If cbopilihpertanyaan = "" Then

MsgBox "Maaf, Anda harus memilih kategori Permasalahan", vbOKCancel, "Peringatan"

Else

cbopilihpertanyaan.Text = rstb_pertanyaan Set rstb_alasan = New ADODB.Recordset rstb_alasan.AddNew


(71)

rstb_alasan!id_alasan = rstb_pendekatan!Id_pendekatan rstb_alasan!alasan = rstb_pendekatan!FaktaYa

rstb_pendekatan.Update jwb = rstb_pendekatan!Ya If Left(jwb, 1) = "T" Then rstb_pendekatan.MoveFirst

rstb_pendekatan.Find " Id_pendekatan= '" & jwb & "' " Label1.Caption = rstb_pendekatan!pertanyaan

Else

rstb_solusi.MoveFirst

rstb_solusi.Find " Id_solusi= '" & jwb & "' "

frmHasilPendekatan.Label1.Caption = rstb_solusi!solusi frmHasilPendekatan.Show vbModal

End If End If End Sub

Private Sub Label1_Click()

Label1.Caption = cbopilihpertanyaan.Text End Sub

Private Sub cmdTidak_Click() Label1.Caption = ""

cbopilihpertanyaan.Text = "" cbopilihpertanyaan.SetFocus End Sub

Private Sub form_load() tampil

End Sub

Sub tampil() konek_db


(72)

cbopilihpertanyaan.Clear

Set rstb_pendekatan = New ADODB.Recordset

rstb_pendekatan.Open "select *from tb_pendekatan", conn, 1, 2 rstb_pendekatan.MoveFirst

Select Case frmPilihan.cboPilih.ListIndex Case 0

rstb_pendekatan.Find "Id_pendekatan='PD1'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 1

rstb_pendekatan.Find "Id_pendekatan='PD4'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 2

rstb_pendekatan.Find "Id_pendekatan='PD8'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan

Case 3

rstb_pendekatan.Find "Id_pendekatan='PD12'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 4

rstb_pendekatan.Find "Id_pendekatan='PD13'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 5

rstb_pendekatan.Find "Id_pendekatan='PD14'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 6

rstb_pendekatan.Find "Id_pendekatan='PD15'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan Case 7

rstb_pendekatan.Find "Id_pendekatan='PD18'"

cbopilihpertanyaan.Text = rstb_pendekatan!pertanyaan End Select


(73)

diskonek_db End Sub

8. Form Pilihan

Private Sub cmdPilih_Click() If cboPilih.Text = " " Then

MsgBox "Pilihan Kategori permasalahan tidak boleh kosong.", vbCritical + vbOKOnly, "Peringatan"

Else

frmPendekatan.Show vbModal End If

End Sub

Sub tampil() konek_db

Dim i As Integer i = 0

cboPilih.Clear

Set rstb_pilihan = New ADODB.Recordset

rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2 rstb_pilihan.MoveFirst

While Not rstb_pilihan.EOF

cboPilih.AddItem rstb_pilihan!pilihan, i i = i + 1

rstb_pilihan.MoveNext Wend

diskonek_db

cmdPilih.Enabled = True End Sub

Private Sub form_load() tampil


(74)

Private Sub Command2_Click() cboPilih.Text = " "

cboPilih.SetFocus End Sub

Private Sub Command3_Click() Unload Me

End Sub

9. Form ProgramIni

Private Sub Command1_Click() Unload Me

End Sub

10.Form Solusi

Public baru As Boolean

Dim rsPilih As ADODB.Recordset Private Sub cmdBatal_Click() KunciTeks True

tombolAwal True

Adodc1.Recordset.Cancel KosongkanForm

End Sub

Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil

pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast

MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If


(75)

Exit Sub

hapusErr:

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

Private Sub cmdKeluar_Click() Me.Hide

End Sub

Private Sub cmdSimpan_Click() konek_db

On Error GoTo simpanErr

Dim rsCek As ADODB.Recordset

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

MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"

txtIDSolusi.SetFocus Else

Set rsCek = New ADODB.Recordset

rsCek.Open "select * from tb_solusi where Id_solusi='" & txtIDSolusi.Text & "'", conn, 1, 2

If Not rsCek.EOF And baru Then

MsgBox "Solusi dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"

txtIDSolusi.SetFocus: SendKeys "{HOME}+{END}" Else

With Adodc1.Recordset

Set rstb_solusi = New ADODB.Recordset

rstb_solusi.Open "insert into tb_solusi values ('" & txtIDSolusi.Text & "', '" & txtSolusi.Text & "')", conn, 1, 2

If rstb_solusi.BOF Then .AddNew .Update


(76)

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

tombolAwal True KosongkanForm End With

End If End If Exit Sub diskonek_db simpanErr:

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

Private Sub cmdTambah_Click() baru = True

KunciTeks False tombolAwal False txtIDSolusi.SetFocus End Sub

Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci

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

Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False


(77)

With Adodc1.Recordset

Set rstb_solusi = New ADODB.Recordset

rstb_solusi.Open "select *from tb_solusi", conn, 1, 2 txtIDSolusi.Text = rstb_solusi!Id_solusi

txtSolusi.Text = rstb_solusi!solusi End With

txtIDSolusi.SetFocus baru = False

Exit Sub

ubahErr:

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

Private Sub form_load() KunciTeks True

tombolAwal True

Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_solusi" Set DataGrid1.DataSource = Adodc1

DataGrid1.Columns(0).Width = 400 End Sub

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

Sub KunciTeks(kunci As Boolean) txtIDSolusi.Locked = kunci

txtSolusi.Locked = kunci End Sub


(78)

11.Form Tambah Pilihan

Public baru As Boolean

Dim rsPilih As ADODB.Recordset Private Sub cmdBatal_Click() KunciTeks True

tombolAwal True

Adodc1.Recordset.Cancel KosongkanForm

End Sub

Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil

pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast

MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If

Exit Sub hapusErr:

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

Private Sub cmdKeluar_Click() Me.Hide

End Sub

Private Sub cmdSimpan_Click() konek_db

On Error GoTo simpanErr


(79)

If txtIDpilihan.Text = "" Or txtPilihan.Text = "" Then

MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"

txtIDpilihan.SetFocus Else

Set rsCek = New ADODB.Recordset

rsCek.Open "select * from tb_pilihan where Id_pilihan='" & txtIDpilihan.Text & "'", conn, 1, 2

If Not rsCek.EOF And baru Then

MsgBox "Data dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"

txtIDpilihan.SetFocus: SendKeys "{HOME}+{END}" Else

With Adodc1.Recordset

Set rstb_pilihan = New ADODB.Recordset

rstb_pilihan.Open "insert into tb_pilihan values ('" & txtIDpilihan.Text & "', '" & txtPilihan.Text & "')", conn, 1, 2

If rstb_pilihan.BOF Then .AddNew .Update

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

tombolAwal True KosongkanForm End With

End If End If Exit Sub diskonek_db simpanErr:

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


(80)

Private Sub cmdTambah_Click() baru = True

KunciTeks False tombolAwal False txtIDpilihan.SetFocus End Sub

Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci

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

Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False

tombolAwal False

With Adodc1.Recordset

Set rstb_pilihan = New ADODB.Recordset

rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2

txtIDpilihan.Text = rstb_pilihan!Id_pilihan txtPilihan.Text = rstb_pilihan!pilihan End With

txtIDpilihan.SetFocus baru = False

Exit Sub ubahErr:


(81)

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

Private Sub form_load() KunciTeks True

tombolAwal True

Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_pilihan" Set DataGrid1.DataSource = Adodc1

DataGrid1.Columns(0).Width = 400 End Sub

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

Sub KunciTeks(kunci As Boolean) txtIDpilihan.Locked = kunci txtPilihan.Locked = kunci End Sub

12.Form Utama

Private Sub close_Click() Dim pesan

pesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pesan = vbYes Then Unload Me

End If End Sub


(82)

Private Sub cmdLogin_Click() Dim pesan

pesan = MsgBox("Selamat Datang, Silakan Login", vbYes, "Konfirmasi") frmLogin.Show vbModal

End Sub

Private Sub cmdMe_Click() frmMe.Show vbModal End Sub

Private Sub edda_Click() frmLogin.Show vbModal End Sub

Private Sub form_load() konek_db

End Sub

Private Sub form_activate() Call form_load

End Sub

Private Sub Form_Unload(Cancel As Integer) diskonek_db

Unload Me End

End Sub

Private Sub mati_Click() Dim pesan

pesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pesan = vbYes Then frmLogin.Show Me.Hide


(83)

End Sub

Private Sub me_Click()

frmProgramIni.Show vbModal End Sub

Private Sub saya_Click() frmMe.Show vbModal End Sub


(1)

11.Form Tambah Pilihan Public baru As Boolean

Dim rsPilih As ADODB.Recordset Private Sub cmdBatal_Click() KunciTeks True

tombolAwal True

Adodc1.Recordset.Cancel KosongkanForm

End Sub

Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil

pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast

MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If

Exit Sub hapusErr:

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

Private Sub cmdKeluar_Click() Me.Hide

End Sub

Private Sub cmdSimpan_Click() konek_db


(2)

If txtIDpilihan.Text = "" Or txtPilihan.Text = "" Then

MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan"

txtIDpilihan.SetFocus Else

Set rsCek = New ADODB.Recordset

rsCek.Open "select * from tb_pilihan where Id_pilihan='" & txtIDpilihan.Text & "'", conn, 1, 2

If Not rsCek.EOF And baru Then

MsgBox "Data dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan"

txtIDpilihan.SetFocus: SendKeys "{HOME}+{END}" Else

With Adodc1.Recordset

Set rstb_pilihan = New ADODB.Recordset

rstb_pilihan.Open "insert into tb_pilihan values ('" & txtIDpilihan.Text & "', '" & txtPilihan.Text & "')", conn, 1, 2

If rstb_pilihan.BOF Then .AddNew .Update

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

tombolAwal True KosongkanForm End With

End If End If Exit Sub diskonek_db simpanErr:

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


(3)

Private Sub cmdTambah_Click() baru = True

KunciTeks False tombolAwal False txtIDpilihan.SetFocus End Sub

Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci

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

Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False

tombolAwal False

With Adodc1.Recordset

Set rstb_pilihan = New ADODB.Recordset

rstb_pilihan.Open "select *from tb_pilihan", conn, 1, 2

txtIDpilihan.Text = rstb_pilihan!Id_pilihan txtPilihan.Text = rstb_pilihan!pilihan End With

txtIDpilihan.SetFocus baru = False


(4)

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

Private Sub form_load() KunciTeks True

tombolAwal True

Adodc1.ConnectionString = conn.ConnectionString Adodc1.RecordSource = "select * from tb_pilihan" Set DataGrid1.DataSource = Adodc1

DataGrid1.Columns(0).Width = 400 End Sub

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

Sub KunciTeks(kunci As Boolean) txtIDpilihan.Locked = kunci txtPilihan.Locked = kunci End Sub

12.Form Utama

Private Sub close_Click() Dim pesan

pesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pesan = vbYes Then Unload Me

End If End Sub


(5)

Private Sub cmdLogin_Click() Dim pesan

pesan = MsgBox("Selamat Datang, Silakan Login", vbYes, "Konfirmasi") frmLogin.Show vbModal

End Sub

Private Sub cmdMe_Click() frmMe.Show vbModal End Sub

Private Sub edda_Click() frmLogin.Show vbModal End Sub

Private Sub form_load() konek_db

End Sub

Private Sub form_activate() Call form_load

End Sub

Private Sub Form_Unload(Cancel As Integer) diskonek_db

Unload Me End

End Sub

Private Sub mati_Click() Dim pesan

pesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi")

If pesan = vbYes Then frmLogin.Show Me.Hide


(6)

End Sub

Private Sub me_Click()

frmProgramIni.Show vbModal End Sub

Private Sub saya_Click() frmMe.Show vbModal End Sub