Perancangan Sistem Pakar untuk Pengidentifikasian Taksonomi Tumbuhan Gymnospermae

(1)

PERANCANGAN SISTEM PAKAR UNTUK PENGIDENTIFIKASIAN

TAKSONOMI TUMBUHAN GYMNOSPERMAE

SKRIPSI

LUI RIBKA HUTAHAEAN

031401015

PROGRAM STUDI S-1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2008


(2)

PERSETUJUAN

Judul : PERANCANGAN SISTEM PAKAR UNTUK

PENGIDENTIFIKASIAN TAKSONOMI TUMBUHAN GYMNOSPERMAE

Kategori : SKRIPSI

Nama : LUI RIBKA HUTAHAEAN

Nomor Induk Mahasiswa : 031401015

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan,

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Bisman Perangin-angin Drs. James Piter Marbun,M.Kom

NIP 131459465 NIP 131639804

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Muhammad Zarlis NIP 131570434


(3)

PERNYATAAN

PERANCANGAN SISTEM PAKAR UNTUK PENGIDENTIFIKASIAN TAKSONOMI TUMBUHAN GYMNOSPERMAE

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juni 2008

LUI RIBKA HUTAHAEAN 031401015


(4)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, dengan limpahan karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. James Piter Marbun, M.Kom dan Bapak Drs. Bisman Perangin-angin selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini.Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU, serta pegawai di FMIPA USU. Akhirnya, tidak terlupakan kepada keluarga, Papa dan Mama, semua kakak dan adik (Intan, Iyang, Iyu, Naro) yang selalu memberikan dukungan dan perhatiannya, juga semua teman-teman yang selalu memberikan masukan, kritikan, dan semangat untuk menyelesaikan tugas akhir ini, terima kasih tak terhingga untuk perhatian yang tiada henti.


(5)

ABSTRAK

Sistem pakar untuk pengidentifikasian taksonomi tumbuhan gymnospermae ini adalah suatu sistem yang dirancang sebagai alat bantu untuk mengidentifikasi taksonomi tumbuhan khususnya tumbuhan gymnospermae. Data yang berkenaan dengan tumbuhan gymnospermae, seperti ciri-ciri tumbuhan beserta tingkatan taksonominya disusun sedemikian rupa sebagai basis pengetahuan pada sistem pakar ini. Pengetahuan ini kemudian disusun ke dalam tiga tabel untuk mempermudah kinerja sistem dalam pengambilan keputusan yaitu tabel pilihan yang memuat ciri-ciri tumbuhan, tabel pertanyaan yang memuat pertanyaan-pertanyaan yang akan ditampilkan oleh sistem, dan tabel solusi yang memuat tingkatan taksonomi tumbuhan. Sistem pakar mulai bekerja dengan menampilkan pertanyaan-pertanyaan dan pilihan-pilihan jawaban yang akan sangat berpengaruh untuk menentukan hasil akhir. Hasil akhir dari sistem pakar ini berupa tampilan tingkatan taksonomi yang diidentifikasi dengan menggunakan metode inferensi forward chaining dengan berdasarkan kepada pengumpulan seluruh input ciri tumbuhan yang telah dilakukan pengguna dengan memilih jawaban untuk pertanyaan yang disediakan. Di samping itu, sistem pakar ini juga dilengkapi dengan fasilitas ensiklopedia yang dapat memberikan informasi tambahan kepada pengguna yang ingin mengetahui lebih lanjut mengenai tumbuhan-tumbuhan yang ada pada subdivisi gymnospermae. Sistem pakar juga ini telah dirancang sedemikian rupa sehingga menjadi sistem pakar yang ramah pengguna dalam membantu mengidentifikasi taksonomi tumbuhan gymnospermae.


(6)

DESIGNING EXPERT SYSTEM FOR IDENTIFYING THE TAXONOMY OF GYMNOSPERMAE

ABSTRACT

This expert system for identifying the taxonomy of gymnospermae is a system which designed as an assistant to identify the plants taxonomy, especially gymnospermae. Every data about the gymnospermae, like the plants characteristics and the taxonomy level is well arranged as a knowledge base for this expert system. Then the knowledge is arranged in to three tables to make the system easier for conclucion deciding. These three tables are “choices table” that contains plants characteristics, “questions table” that contains questions which will show by the expert system, and “solution table” that contains the taxonomy level. The expert system starts with showing the questions and the optional answers which will really influence the final result then. The final result of this expert system is the taxonomy level which identified with forward chaining inference method based on the collecting of all plants characteristics, that has already done by the user by choosing every answer for every question given by the expert system. This expert system is also completed with encyclopedia which can give an additional information about the gymnospermae. This expert system is also well designed so it can be a user friendly expert system that can be used to identifying the taxonomy of gymnospermae.


(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

Bab 1 Pendahuluan 1

1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Permasalahan 2

1.4Tujuan Penelitian 2

1.5Manfaat Penelitian 3

1.6Metodologi Penelitian 3

1.7Sistematika Penulisan 4

Bab 2 Tinjauan Teoritis 6

2.1 Sistem Pakar 6

2.1.1 Sejarah Sistem Pakar 7

2.1.2 Pengaplikasian Sistem Pakar 8

2.1.3 Ciri-ciri Sistem Pakar 8

2.1.4 Perbandingan Sistem Konvensional dan Sistem Pakar 9

2.1.5 Arsitektur Sistem Pakar 9

2.1.6 Representasi Pengetahuan 10

2.1.6.1 Logika 11

2.1.6.2 Jaringan Semantik 13

2.1.6.3 Object-Attribute-Value (OAV) 14

2.1.6.4 Bingkai (frame) 14

2.1.6.5 Kaidah Produksi 15

2.1.7 Inferensi 16

2.1.7.1 Runut Maju (forward chaining) 16

2.1.7.2 Runut Balik (backward chaining) 17

2.1.8 Perbedaan Human Expertise dengan Artificial Expertise 17

2.2 Taksonomi 18

2.3 PHP 19

2.3.1 Penggunaan PHP 21

2.3.2 Variabel dan Tipe Data 21

2.3.2.1 Variabel 21

2.3.2.2 Tipe Data 22


(8)

2.3.4 Mengelola Masukan Form Web 23

2.3.5 Struktur Kendali 24

2.3.5.1 Pernyataan if 24

2.3.5.2 Pernyataan if...else... 24 2.3.5.3 Pernyataan switch 25

2.3.5.4 Pernyataan for 25

2.3.5.5 Pernyataan while 26 2.3.5.6 Pernyataan do...while 26

2.3.6 Array 27

2.3.6.1 Pengurutan dalam Array 27

2.3.7 Fungsi 27

2.3.8 Menampilkan String 28 2.3.8.1 Perintah printf 28

2.3.8.2 Perintah print 29

2.3.8.3 Perintah echo 29 2.3.9 Modularisasi 29

2.4 MySQL 30

2.4.1 Tipe Data Field 31

2.4.2 Perintah-perintah Dasar MySQL 31 2.4.3 DML (Data Manipulation Language) 32

2.4.4 Fungsi-fungsi MySQL 33

2.5 Analisis dan Perancangan Sistem 35

2.6 Macromedia Dreamweaver 36

2.7 Macromedia Flash MX 36

2.8 Adobe Photoshop 36

Bab 3 Perancangan Sistem Pakar 38

3.1 Perancangan Basis Pengetahuan 38

3.1.1 Perancangan Tabel Basis Pengetahuan 43

3.2 Diagram Alir Sistem 46

3.3 Perancangan Antarmuka 47

Bab 4 Implementasi Sistem Pakar 49

4.1 Implementasi Tabel Basis Pengetahuan 49

4.2 Desain Antarmuka 49

4.2.1 Desain Antarmuka Menu Utama 50 4.2.2 Desain Antarmuka Sistem Pakar 51 4.2.3 Desain Antarmuka Ensiklopedia 55

4.3 Contoh Pengujian Sistem Pakar 56

Bab 5 Kesimpulan dan Saran 58

5.1 Kesimpulan 58

5.2 Saran 58

Daftar Pustaka 59


(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Tabel Operator Logika dan Simbol 12 Tabel 2.2 Tabel Kebenaran Operator Logika 12 Tabel 2.3 Tabel Representasi Pengetahuan dengan OAV 14

Tabel 2.4 Tabel Bingkai Penyakit 15

Tabel 2.5 Tabel Kelebihan Artificial Expertise 17 Tabel 2.6 Tabel Kekurangan Artificial Expertise 18 Tabel 2.7 Tabel Pembagian Kelas pada Tumbuhan Gymnospermae 19 Tabel 2.8 Tabel Operator Aritmetika dalam PHP 22 Tabel 2.9 Tabel Operator Logika dalam PHP 23 Tabel 2.10 Tabel Format String untuk Fungsi Printf 28


(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Gambar Representasi Jaringan Semantik 13

Gambar 3.1 Gambar Rancangan Menu Utama 47

Gambar 3.2 Gambar Rancangan Tampilan Sistem Pakar 48 Gambar 3.3 Gambar Rancangan Tampilan Menu Ensiklopedia 48 Gambar 4.1 Gambar Tampilan Tabel Pertanyaan pada Phpmyadmin 49 Gambar 4.2 Gambar Tampilan Tabel Pilihan pada Phpmyadmin 49 Gambar 4.3 Gambar Tampilan Tabel Solusi pada Phpmyadmin 50

Gambar 4.4 Gambar Halaman Utama 50

Gambar 4.5 Gambar Halaman Menu Utama 51

Gambar 4.6 Gambar Pertanyaan dan Pilihan Jawaban 1 51 Gambar 4.7 Gambar Pertanyaan dan Pilihan Jawaban 2 52 Gambar 4.8 Gambar Pertanyaan dan Pilihan Jawaban 3 52 Gambar 4.9 Gambar Pertanyaan dan Pilihan Jawaban 4 53 Gambar 4.10 Gambar Pertanyaan dan Pilihan Jawaban 5 53

Gambar 4.11 Gambar Solusi 54

Gambar 4.12 Gambar Tampilan Menu Lihat Gambar 54 Gambar 4.13 Gambar Tampilan Halaman Ensiklopedia 1 55 Gambar 4.14 Gambar Tampilan Halaman Ensiklopedia 2 55


(11)

ABSTRAK

Sistem pakar untuk pengidentifikasian taksonomi tumbuhan gymnospermae ini adalah suatu sistem yang dirancang sebagai alat bantu untuk mengidentifikasi taksonomi tumbuhan khususnya tumbuhan gymnospermae. Data yang berkenaan dengan tumbuhan gymnospermae, seperti ciri-ciri tumbuhan beserta tingkatan taksonominya disusun sedemikian rupa sebagai basis pengetahuan pada sistem pakar ini. Pengetahuan ini kemudian disusun ke dalam tiga tabel untuk mempermudah kinerja sistem dalam pengambilan keputusan yaitu tabel pilihan yang memuat ciri-ciri tumbuhan, tabel pertanyaan yang memuat pertanyaan-pertanyaan yang akan ditampilkan oleh sistem, dan tabel solusi yang memuat tingkatan taksonomi tumbuhan. Sistem pakar mulai bekerja dengan menampilkan pertanyaan-pertanyaan dan pilihan-pilihan jawaban yang akan sangat berpengaruh untuk menentukan hasil akhir. Hasil akhir dari sistem pakar ini berupa tampilan tingkatan taksonomi yang diidentifikasi dengan menggunakan metode inferensi forward chaining dengan berdasarkan kepada pengumpulan seluruh input ciri tumbuhan yang telah dilakukan pengguna dengan memilih jawaban untuk pertanyaan yang disediakan. Di samping itu, sistem pakar ini juga dilengkapi dengan fasilitas ensiklopedia yang dapat memberikan informasi tambahan kepada pengguna yang ingin mengetahui lebih lanjut mengenai tumbuhan-tumbuhan yang ada pada subdivisi gymnospermae. Sistem pakar juga ini telah dirancang sedemikian rupa sehingga menjadi sistem pakar yang ramah pengguna dalam membantu mengidentifikasi taksonomi tumbuhan gymnospermae.


(12)

DESIGNING EXPERT SYSTEM FOR IDENTIFYING THE TAXONOMY OF GYMNOSPERMAE

ABSTRACT

This expert system for identifying the taxonomy of gymnospermae is a system which designed as an assistant to identify the plants taxonomy, especially gymnospermae. Every data about the gymnospermae, like the plants characteristics and the taxonomy level is well arranged as a knowledge base for this expert system. Then the knowledge is arranged in to three tables to make the system easier for conclucion deciding. These three tables are “choices table” that contains plants characteristics, “questions table” that contains questions which will show by the expert system, and “solution table” that contains the taxonomy level. The expert system starts with showing the questions and the optional answers which will really influence the final result then. The final result of this expert system is the taxonomy level which identified with forward chaining inference method based on the collecting of all plants characteristics, that has already done by the user by choosing every answer for every question given by the expert system. This expert system is also completed with encyclopedia which can give an additional information about the gymnospermae. This expert system is also well designed so it can be a user friendly expert system that can be used to identifying the taxonomy of gymnospermae.


(13)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Kekayaan flora di dunia saat ini ditaksir mencapai ±300.000 jenis tumbuhan. Lebih dari separuh kekayaan flora itu merupakan tumbuhan biji yang diperkirakan berjumlah ±170.000 jenis tumbuhan.

Karena tumbuhan yang ada sangat banyak, diperlukan suatu alat yang dapat digunakan untuk mengenali tumbuhan tersebut, alat itu adalah taksonomi, suatu cabang ilmu biologi yang berperan dalam mengklasifikasi dan memberi nama ilmiah untuk suatu species makhluk hidup. Kelompok takson (kelompok individu yang memiliki banyak persamaan, baik struktur tubuh, warna, perilaku, manfaat, maupun pola tingkah laku) yang paling besar untuk tumbuhan adalah divisio. Divisio beranggotakan kelas (class), tiap-tiap kelas beranggotakan ordo. Ordo beranggotakan famili, famili beranggotakan genus, dan genus beranggotakan species.

Dengan banyaknya tumbuhan yang ada, mungkin saja suatu saat timbul rasa ingin tahu akan jenis dari suatu tumbuhan tertentu. Karena hal tersebutlah maka penulis mendapatkan ide untuk membuat sistem pakar yang dapat mengidentifikasi taksonomi tumbuhan, karena banyaknya jenis tanaman yang ada, khususnya tumbuhan biji (spermatophyta). Sistem pakar ini dapat mempermudah pengguna untuk menentukan jenis dari tanaman yang ingin diketahuinya.

Sistem pakar yang akan dibuat ini diharapkan akan dapat mengidentifikasi atau mengklasifikasi tumbuhan biji terbuka (gymnospermae) sampai ke tingkat suku (family) dengan menggunakan ciri tumbuhan yang ingin diidentifikasi sebagai input.


(14)

1.2 Rumusan Masalah

Permasalahan yang akan dibahas dalam penulisan tugas akhir ini adalah bagaimana merancang suatu sistem pakar yang dapat digunakan untuk menentukan taksonomi dari tumbuhan biji khususnya tumbuhan biji terbuka.

1.3 Batasan Permasalahan

Perancangan sistem pakar untuk identifikasi taksonomi dari tumbuhan gymnospermae merupakan hal yang sangat kompleks sehingga penulis membatasi permasalahan sebagai berikut:

1. Taksonomi tumbuhan hanya dibatasi sampai ke penentuan suku dari tumbuhan gymnospermae saja.

2. Penentuan taksonomi sampai ke tingkat suku dapat dilakukan dengan meng-input ciri dari tumbuhan yang ingin diketahui sukunya.

1.4 Tujuan Penelitian

Penelitian ini bertujuan untuk membuat suatu sistem pakar yang dapat mengidentifikasi tumbuhan gymnospermae sampai ke tingkat suku.

1.5 Manfaat Penelitian

Manfaat dari penelitian ini adalah:

1. Penulis dapat mengetahui dan merancang sebuah sistem pakar untuk pengidentifikasian taksonomi tumbuhan gymnospermae sampai ke tingkat suku. Penulisan tugas akhir ini juga memberikan kesempatan kepada penulis untuk menerapkan ilmu yang dipelajari selama kuliah meliputi sistem pakar dan interaksi manusia dan komputer.


(15)

2. Bagi user: dapat menggunakan sistem ini untuk mengetahui dari suku mana suatu tumbuhan berasal, berdasarkan ciri yang ada.

1.6 Metodologi Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah:

1. Pembelajaran literatur

Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui membaca buku-buku maupun artikel-artikel yang dapat mendukung penulisan tugas akhir.

2. Analisis

Pada tahap ini dilakukan analisis terhadap masalah yang ada, batasan yang dimiliki dan kebutuhan yang diperlukan.

3. Perancangan

Pada tahap ini dilakukan perancangan sistem pakar untuk pengidentifikasian taksonomi tumbuhan gymnospermae.

4. Pengkodean

Pada tahap ini rancangan yang telah dibuat akan diimplementasikan ke dalam bentuk kode program PHP dan MySQL.

5. Pengujian

Setelah proses pengkodean selesai, dilakukan proses pengujian terhadap program yang dihasilkan untuk mengetahui apakah program sudah berjalan dengan benar sesuai dengan perancangan yang dilakukan.

1.7 Sistematika Penulisan


(16)

BAB 1 PENDAHULUAN

Pada bab ini dijelaskan tentang latar belakang, tujuan penelitian, rumusan masalah, batasan masalah, metode penelitian, manfaat penelitian dan sistematika penulisan secara keseluruhan.

BAB 2 TINJAUAN TEORITIS

Pada bab ini dijelaskan tentang sistem pakar, taksonomi, analisis dan perancangan sistem, PHP & MySQL.

BAB 3 PERANCANGAN SISTEM PAKAR

Pada bab ini dijelaskan tentang algoritma perancangan sistem pakar yang akan dibuat.

BAB 4 IMPLEMENTASI SISTEM PAKAR

Pada bab ini dijelaskan tentang implementasi ataupun pengkodean dari sistem pakar yang telah dirancang.

BAB 5 KESIMPULAN DAN SARAN

Pada bab ini dijelaskan tentang kesimpulan dan saran dari penulis untuk hasil pembahasan tugas akhir.


(17)

BAB 2

TINJAUAN TEORITIS

2.1 Sistem Pakar

Komputer telah berkembang sebagai alat pengolah data, penghasil informasi, bahkan komputer juga berperan dalam pengambilan keputusan. Tidak puas hanya dengan fungsi tersebut, para ahli komputer masih terus mengembangkan kecanggihan komputer agar dapat memiliki kemampuan seperti manusia.

Ilmu yang mempelajari cara membuat komputer bertindak dan memiliki kecerdasan seperti manusia disebut kecerdasan buatan (artificial intelligence)[6]. Tujuan utama dari para ilmuwan kecerdasan buatan sejak dahulu adalah untuk selalu mengembangkan program komputer yang dapat berpikir, dengan kata lain memecahkan masalah dengan cara yang dapat dikatakan cerdas jika dilakukan oleh seorang manusia[11].

Untuk membuat sebuah program yang cerdas, program tersebut harus didukung dengan banyak sekali pengetahuan yang berkualitas tinggi tentang beberapa daerah permasalahan. Ilmuwan kecerdasan buatan berpikir pasti ada cara lain untuk membuat program komputer yang cerdas. Sangat sulit untuk membuat program serba bisa (general purpose), karena program akan membutuhkan pengetahuan yang sangat banyak. Pencapaian ini menuju sebuah pengembangan program komputer dengan kegunaan khusus (special purpose), sistem yang ahli dalam area permasalahan yang lebih sempit. Program ini disebut sistem pakar (expert system)[11].

2.1.1 Sejarah Sistem Pakar

Sistem pakar mulai dikembangkan pada pertengahan tahun 1960-an oleh Artificial Intelligence Corporation. Periode penelitian kecerdasan buatan ini didominasi oleh


(18)

suatu keyakinan bahwa nalar yang digabung dengan komputer canggih akan menghasilkan presatasi pakar atau bahkan manusia super. Suatu usaha ke arah ini adalah General Purpose Problem Solver (GPS) yang dikembangkan oleh Allen Newell, John Cliff Shaw, dan Herbert Alexander Simon. GPS merupakan sebuah percobaan untuk menciptakan mesin yang cerdas.

Pada pertengahan tahun 1960-an, terjadi pergantian program serba bisa ke program dengan kegunaan khusus/spesialis dengan dikembangkannya DENDRAL oleh E. Feigenbaum dari Universitas Stanford. Pembuatan DENDRAL mengarah pada kesimpulan berikut: pemecahan masalah manusia adalah baik jika hanya beroperasi dalam domain yang sangat sempit. Sistem pakar harus di-update secara berkala untuk informasi baru, update semacam ini dapat efisien apabila menggunakan representasi pengetahuan berbasis rule.

Problem yang kompleks membutuhkan pengetahuan yang banyak sekali tentang area problem. Pada pertengahan 1970-an, beberapa sistem pakar mulai muncul. Sebuah pengetahuan kunci yang dipelajari saat itu adalah kekuatan dari sebuah sistem pakar berasal dari pengetahuan spesifik yang dimilikinya, bukan dari pola penarikan kesimpulan yang digunakannya.

Sistem pakar untuk melakukan diagnosis kesehatan telah dikembangkan sejak pertengahan tahun 1970. Sistem pakar untuk melakukan diagnosis pertama dibuat oleh Bruce Buchanan dan Edward Shortliffe di Stanford University. Sistem ini diberi nama MYCIN.

MYCIN merupakan program interaktif yang melakukan diagnosis penyakit meningitis dan infeksi bacremia serta memberikan rekomendasi terapi antimikrobia. MYCIN mampu memberikan penjelasan atas penalarannya secara detail. Dalam uji coba, program ini mampu menunjukkan kemampuan seperti seorang spesialis. Meskipun MYCIN tidak pernah digunakan secara rutin oleh dokter, MYCIN merupakan referensi yang bagus dalam penelitian kecerdasan buatan yang lain.


(19)

2.1.2 Pengaplikasian Sistem Pakar

Sistem pakar dirancang dan dibuat untuk mendukung tugas-tugas dalam bidang accounting, medis, agrikultur, geologi, kimia, dan lain lain. Tentu saja, pembuatan sebuah sistem pakar yang baik tergantung pada prosedur teknis dan pengembangan yang dilakukan oleh teknisi dan pakar-pakar terkait.

Sebagai contoh, sebuah sistem pakar yang digunakan oleh banyak orang adalah Microsoft Windows operating system troubleshooting (pemecah masalah pada sistem operasi Microsoft Windows) yang ditempatkan di bagian help (bantuan) di menu taskbar. Mendapatkan pakar/teknisi sistem operasi seringkali sulit untuk individu-individu yang tidak terlibat secara mendalam pada pengembangan sistem operasi tersebut. Microsoft telah merancang sistem pakar mereka untuk menyediakan solusi, saran, dan sugesti untuk kesalahan-kesalahan umum yang terjadi selama penggunaan sistem operasi mereka.

2.1.3 Ciri-Ciri Sistem Pakar

Berikut adalah ciri-ciri dari sistem pakar: 1. terbatas pada bidang yang spesifik

2. bekerja berdasarkan rule atau kaidah tertentu

3. dirancang untuk dapat dikembangkan secara bertahap 4. output tergantung dari dialog dengan user

5. knowledge base dan inference engine terpisah

2.1.4 Perbandingan Sistem Konvensional dan Sistem Pakar

Sistem konvensional:

1. informasi dan pemrosesan umumnya digabung dalam satu program sequential

2. perubahan pada data merepotkan 3. sistem bekerja jika sudah lengkap 4. eksekusi secara algoritmik (step by step)


(20)

5. efisiensi adalah tujuan utama

6. dirancang untuk selalu menghasilkan jawaban yang benar setiap saat

Sistem pakar:

1. knowledge base terpisah dari mekanisme inferensi (inference mechanism) 2. perubahan pada rules dapat dilakukan dengan mudah

3. sistem dapat bekerja meskipun hanya dengan rules yang sedikit 4. eksekusi dilakukan secara heuristik dan logik

5. efektivitas adalah tujuan utama

6. dirancang untuk berperilaku layaknya seorang ahli, biasanya menghasilkan jawaban yang benar namun terkadang menghasilkan jawaban yang salah

2.1.5 Arsitektur Sistem Pakar

Sistem pakar memiliki beberapa komponen utama, yaitu antarmuka pengguna (user interface), basis data sistem pakar (expert system database), fasilitas akuisisi pengetahuan (knowledge acquatition facility), dan mekanisme inferensi. Selain itu ada satu komponen yang hanya ada pada beberapa sistem pakar, yaitu fasilitas penjelasan (explanation facility).

Antarmuka pengguna merupakan media komunikasi antara pengguna dengan sistem. Basis data sistem pakar berisi pengetahuan setingkat pakar pada subjek tertentu, berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan, dan menyelesaikan masalah. Basis data ini terdiri dari dua elemen dasar:

1. fakta, situasi masalah dan teori yang terkait

2. heuristik khusus atau rules, yang langsung menggunakan pengetahuan untuk menyelesaikan masalah khusus

Pengetahuan ini dapat berasal dari pakar, jurnal, majalah, dan sumber pengetahuan lain.

Fasilitas akuisisi pengetahuan merupakan fasilitas dialog antara pakar dengan sistem. Fasilitas akuisisi ini digunakan untuk memasukkan fakta-fakta dan


(21)

kaidah-kaidah sesuai dengan perkembangan ilmu, meliputi proses pengumpulan, pemindahan, dan perubahan dari kemampuan pemecahan masalah seorang pakar atau sumber pengetahuan terdokumentasi (buku, jurnal, dan lain-lain) ke program komputer, yang bertujuan untuk memperbaiki dan mengembangkan basis pengetahuan (knowledge base).

Mekanisme inferensi merupakan mekanisme penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. Dalam komponen ini dilakukan pemodelan proses berpikir manusia.

2.1.6 Representasi Pengetahuan

Sebuah sistem pakar juga dikenal sebagai sistem berbasis pengetahuan[12]. Kumpulan pengetahuan yang lengkap yang terus bertambah selama pembangunan sistem merupakan jantung dari sebuah sistem pakar, yang disusun untuk meyederhanakan pengambilan keputusan[11].

Representasi pengetahuan merupakan proses pemaparan pengetahuan agar informasi yang ada dalam pengetahuan tersebut dapat memudahkan pemecahan suatu masalah[11]. Bahasa representasi harus dapat membuat seorang pemrogram mampu mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi masalah, dapat diterjemahkan ke dalam bahasa pemrograman dan dapat disimpan[6].

Pengetahuan dapat direpresentasikan dalam bentuk yang sederhana atau kompleks, tergantung dari masalah yang akan dipecahkan. Berikut adalah beberapa model representasi pengetahuan.

2.1.6.1 Logika (logic)

Logika merupakan suatu pengkajian ilmiah tentang serangkaian penalaran, sistem kaidah, dan prosedur yang membantu proses penalaran. Logika merupakan bentuk


(22)

representasi pengetahuan yang paling tua, yang menjadi dasar dari teknik representasi tingkat tinggi.

Dalam melakukan penalaran, komputer harus dapat menggunakan proses penalaran deduktif dan induktif ke dalam bentuk yang sesuai dengan manipulasi komputer, yaitu berupa logika simbolik atau logika matematik. Metode itu disebut logika komputasional. Bentuk logika komputasional ada dua macam yaitu logika proporsional atau kalkulus dan logika predikat.

Penalaran deduktif bergerak dari penalaran umum menuju ke konklusi khusus. Umumnya dimulai dari suatu silogisme, atau pernyataan premis dan inferensi yang biasanya terdiri dari tiga bagian, yaitu premis mayor, premis minor, dan konklusi.

Contoh:

Premis mayor : jika hujan turun saya tidak akan lari pagi Premis minor : pagi ini hujan turun

Konklusi : oleh karena itu pagi ini saya tidak akan lari pagi

Penalaran induktif merupakan kebalikan dari penalaran deduktif, dimulai dari masalah khusus menuju ke masalah umum. Penalaran ini menggunakan sejumlah fakta atau premis yang mantap untuk menarik kesimpulan umum.

Contoh:

Premis : dioda yang salah menyebabkan peralatan elektronik rusak Premis : transistor rusak menyebabkan peralatan elektronik rusak Premis : IC rusak menyebabkan peralatan elektronik tidak berfungsi Ko.

nklusi : maka, peralatan semikonduktor yang rusak merupakan penyebab

utama rusaknya peralatan elektronik

Pada penalaran induktif, konklusi tidak selalu mutlak, dapat berubah bilamana ditemukan fakta-fakta baru.

Logika proporsional adalah logika yang berdasarkan proposisi yaitu suatu statement atau pernyataan yang menyatakan benar (true) atau salah (false). Operator


(23)

logika dan simbolnya ditunjukkan pada Tabel 2.1 dan Tabel 2.2 menggambarkan tabel kebenaran dari operator logika.

Tabel 2.1 Operator Logika dan Simbol

Operator Simbol

AND ∩, ∧, &

OR ∪, ∨, +

NOT ~, ¬

IMPLIES →

Tabel 2.2 Tabel Kebenaran Operator Logika

A B A∩B A∩B ~A A→B

T T T T F T

T F F T F F

F T F T T T

F F F F T T

Logika predikat adalah suatu logika yang seluruhnya menggunakan konsep dan kaidah proporsional yang sama, disebut juga kalkulus predikat, yang memberi tambahan kemampuan untuk merepresentasikan pengetahuan dengan sangat cermat dan rinci.

Pengetahuan diekspresikan dalam kalkulus predikat yang dapat dimanipulasi agar dapat diinferensi/dinalar. Pangkalan pengetahuan dibentuk dengan menggunakan variabel sebagai simbol-simbol untuk merancang objek.

Contoh: Rojali suka Juleha x = Rojali

y = Juleha


(24)

2.1.6.2 Jaringan Semantik (semantic nets)

Konsep jaringan semantik diperkenalkan pada tahun 1968 oleh Ross Quillian. Jaringan semantik merupakan penggambaran grafis dari pengetahuan yang memperlihatkan hubungan hierarkis dari objek-objek. Komponen dasar untuk merepresentasikan pengetahuan dalam bentuk jaringan semantik adalah simpul (node) dan penghubung (link). Simpul merepresentasikan objek, konsep, atau situasi. Simpul digambarkan dengan kotak atau lingkaran. Penghubung menghubungkan antarsimpul. Penghubung digambarkan dengan panah berarah dan diberi label untuk menyatakan hubungan yang direpresentasikan.

Contoh:

merupakan merupakan

memiliki

Gambar 2.1 Representasi Jaringan Semantik

2.1.6.3 Object-Attribute-Value (OAV)

Objek dapat berupa fisik atau konsep. Atribut adalah karakteristik atau sifat dari objek tersebut. Value (nilai) adalah besaran/nilai/takaran spesifik dari atribut pada situasi tertentu, dapat berupa numerik, string, atau boolean. Sebuah objek dapat memiliki beberapa atribut dan disebut OAV Multi-attribute. Contoh representasi pengetahuan dengan OAV ditunjukkan pada Tabel 2.3.

Tabel 2.3 Representasi pengetahuan dengan OAV

Object Attribute Value

mangga warna hijau, orange

mangga berbiji tunggal

PC komputer alat elektronik


(25)

mangga rasa asam, manis

mangga bentuk oval

pisang warna hijau, kuning

pisang bentuk lonjong

2.1.6.4 Bingkai (frame)

Bingkai berupa ruang-ruang (slots) yang berisi atribut untuk mendeskripsikan pengetahuan. Pengetahuan yang termuat dalam slot dapat berupa kejadian, lokasi, situasi, ataupun elemen-elemen lainnya. Bingkai memuat deskripsi sebuah objek dengan menggunakan tabulasi informasi yang berhubungan dengan objek. Dengan demikian bingkai membantu menirukan cara seseorang mengoorganisasikan informasi tentang sebuah objek yang menjadi kumpulan data.

Bingkai merupakan cara yang lebih kompleks untuk menyimpan objek dan nilai atributnya bila dibandingkan dengan jaringan semantik. Bingkai menambahkan kecerdasan pada representasi data dan mengizinkan objek untuk menurunkan nilai dari objek yang lain. Pada Tabel 2.4 dapat dilihat contoh bingkai untuk penyakit.

Tabel 2.4 Bingkai Penyakit

Slots Isi (fillers)

nama flu

gejala

a. bersin b. pusing c. demam

obat a. decolgen b. ultraflu

2.1.6.5 Kaidah Produksi

Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi, arahan, atau strategi. Kaidah produksi dituliskan dalam bentuk jika-maka (if-then). Kaidah if-then


(26)

menghubungkan anteseden (antecedent) dengan konsekuensi yang diakibatkannya. Berbagai struktur if-then yang menghubungkan objek atau atribut adalah sebagai berikut:

JIKA premis MAKA konklusi JIKA masukan MAKA keluaran JIKA kondisi MAKA tindakan JIKA anteseden MAKA konsekuen JIKA data MAKA hasil

JIKA tindakan MAKA tujuan

2.1.7 Inferensi

Pemahaman mengenai kaidah inferensi sangat penting untuk memahami sistem pakar. Kaidah inferensi merupakan suatu statement yang mempunyai dua bagian, if-clause (klausa jika) dan then-clause (klausa maka). Aturan inilah yang memberikan sistem pakar kemampuan untuk menemukan solusi dalam pemecahan suatu masalah[12]. Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclucion) atau implikasi berdasarkan informasi yang tersedia.

Dalam sistem pakar, proses inferensi dilakukan dalam suatu modul yang disebut inference engine (mesin inferensi). Inference engine berisi program tentang bagaimana mengendalikan proses reasoning (penalaran).

Ketika representasi pengetahuan pada bagian knowledge base telah lengkap, atau paling tidak telah berada pada level yang cukup akurat, maka representasi pengetahuan tersebut telah siap digunakan. Ada dua metode inferensi yang paling penting dalam sistem pakar, yaitu runut maju (forward chaining) dan runut balik (backward chaining).


(27)

2.1.7.1 Runut Maju (forward chaining)

Runut maju dimulai dengan data yang tersedia dan menggunakan kaidah inferensi untuk menyimpulkan data sampai hasil yang diinginkan tercapai. Karena data yang tersedia menentukan kaidah inferensi yang digunakan, metode ini juga disebut data driven.

Contoh:

DATA ATURAN KESIMPULAN

A = 1 JIKA A = 1 DAN B = 2

MAKA C = 3 D = 4 B = 2 JIKA C = 3 MAKA D = 4

2.1.7.2 Runut Balik (backward chaining)

Runut balik dimulai dari hasil/kesimpulan akhir dan merunut balik untuk melihat apakah ada data yang dapat menyimpulkan hasil akhir tersebut.

Contoh:

DATA ATURAN KESIMPULAN

A = 1 JIKA A = 1 DAN B = 2

MAKA C = 3 D = 4 B = 2 JIKA C = 3 MAKA D = 4

2.1.8 Perbedaan Human Expertise dengan Artificial Expertise

Kelebihan artificial expertise (keahlian/kepakaran buatan) dan kekurangan human expertise (keahlian/kepakaran manusia):

Tabel 2.5 Kelebihan artificial expertise

Human Expertise Artificial Expertise


(28)

sulit untuk di-transfer mudah untuk di-transfer sulit untuk didokumentasi mudah untuk didokumentasi

tidak dapat ditebak konsisten

mahal affordable

Kekurangan artificial expertise (keahlian/kepakaran buatan) dan kelebihan human expertise (keahlian/kepakaran manusia):

Tabel 2.6 Kekurangan artificial expertise

Human Expertise Artificial Expertise

kreatif tidak mempunyai inspirasi (uninspired)

adaptif harus diperintah

pengetahuan berdasarkan naluri pengetahuan teknis dapat bekerja berdasarkan pengalaman harus di-update

pengamatan luas pengamatan sempit

2.2 Taksonomi

Taksonomi adalah suatu ilmu yang menggabungkan identifikasi, nomenclature (tata nama), dan klasifikasi objek-objek biologis. Taksonomi pada saat digunakan untuk pengklasifikasian tumbuhan biasa dikenal sebagai systematic botany (sistematika tumbuhan)[7]. Taksonomi terdiri atas kelompok takson, yaitu kelompok individu yang memiliki banyak persamaan, baik struktur tubuh, warna, perilaku, manfaat, maupun pola tingkah laku. Pada dunia tumbuhan kelompok takson yang paling besar adalah divisio. Divisio beranggotakan kelas (class), tiap-tiap kelas beranggotakan ordo. Ordo beranggotakan famili, famili beranggotakan genus, dan genus beranggotakan species.

Tumbuhan biji merupakan golongan tumbuhan yang mempunyai ciri khas yaitu adanya satu organ yang berupa biji (dalam bahasa Yunani: sperma). Tumbuhan biji yang sekarang ada di bumi saat ini meliputi kurang lebih 170.000 jenis tumbuhan,


(29)

jumlah ini lebih dari separuh jumlah kekayaan flora dunia yang ditaksir seluruhnya meliputi ± 300.000 jenis tumbuhan[10].

Divisi tumbuhan biji secara klasik terbagi atas dua subdivisi yaitu tumbuhan biji tertutup (angiospermae) dan tumbuhan biji terbuka (gymnospermae). Yang membedakan keduanya adalah keberadaan bijinya. Pada tumbuhan angiospermae bijinya terlindung oleh bakal buah sedangkan pada gymnospermae bijinya tidak terlindung oleh bakal buah[8].

Tumbuhan biji terbuka terbagi atas empat kelas seperti diperlihatkan pada Tabel 2.7.

Tabel 2.7 Pembagian kelas pada tumbuhan gymnospermae

kelas ordo famili

cycadophyta cycadales cycadaceae ginkophyta ginkgoales ginkgoceae coniferophyta - taxales - taxaceae

- cephalotaxaceae - podocarpales podocarpaceae - araucariales araucariaceae - pinales pinaceae - cupressales - taxodiaceae

- cupressaceae gnetophyta - ephedrales ephedraceae

- gnetales gnetaceae - welwitschiales welwitschiaceae

2.3 PHP

PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web. PHP dapat disisipkan di antara bahasa HTML. Karena merupakan bahasa server-side,


(30)

maka bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke browser adalah hasil jadi dalam bentuk HTML, dan kode PHP tidak akan terlihat.

Di awal Januari 2001, PHP telah dipakai lebih dari lima juta domain di seluruh dunia, dan akan terus bertambah karena kemudahan aplikasi PHP ini dibandingkan dengan bahasa server-side lainnya. PHP juga termasuk dalam open source product, yang source code-nya dapat diubah dan didistribusikan secara bebas.

Adapun kelebihan-kelebihan PHP adalah sebagai berikut: 1. PHP mudah digunakan dan kecepatan akses tinggi

2. PHP dapat berjalan dalam web server yang berbeda dan dalam sistem operasi yang berbeda pula. PHP dapat berjalan di sistem operasi UNIX, Windows, dan Macintosh

3. PHP diterbitkan secara gratis

4. PHP juga dapat berjalan pada web server Microsoft Personal Web Server, Apache, IIS, Xitami, dan sebagainya

5. PHP adalah termasuk bahasa yang embedded (bisa ditempel atau diletakkan dalam tag HTML)

6. PHP termasuk Server-side programming language

Sistem database yang didukung oleh PHP adalah: 1. Oracle

2. Sybase 3. mSQL 4. MySQL 5. Solid

6. Generic ODBC 7. Postgres SQL

2.3.1 Penggunaan PHP

Fungsi-fungsi yang ada di PHP tidak case sensitive, tetapi variabelnya case sensitive (membedakan huruf kapital dan kecil). Kode PHP diawali dengan tanda lebih kecil (<)


(31)

dan diakhiri dengan tanda lebih besar (>). Ada tiga cara untuk menuliskan script PHP yaitu:

1. <?

Script PHP ?>

2. <?php

Script PHP ?>

3. <SCRIPT LANGUAGE=”php”> Script PHP

</SCRIPT>

Pemisah antarinstruksi adalah tanda titik koma (;). Untuk membuat atau menambahkan komentar, standar penulisan adalah:

/*komentar*/ //komentar #komentar

2.3.2 Variabel dan Tipe Data

2.3.2.1 Variabel

Variabel digunakan untuk menyimpan data sementara dan nilainya dapat berubah-ubah setiap kali program dijalankan.

Berikut adalah aturan-aturan penggunaan variabel dalam PHP: 1. Diawali dengan tanda dolar ($)

2. Penamaan variabel bersifat case sensitive

3. Nama variabel hanya dapat diawali dengan huruf atau garis bawah, lalu dapat diikuti dengan beberapa huruf atau angka maupun garis bawah

2.3.2.2 Tipe Data


(32)

1. Integer

2. Float/double atau bilangan pecahan 3. String

4. Array 5. Objek

2.3.3 Operator dalam PHP

Operator merupakan suatu simbol yang dapat dipakai untuk memanipulasi data, seperti perkalian, penjumlahan, pengurangan, dan pembagian.

Tabel 2.8 Operator aritmetika dalam PHP

Operator Operasi Penggunaan

* perkalian $a*$b

/ pembagian $a/$b

% modulus $a%$b

-- pre/post decrement --$a atau $a-- ++ pre/post increment ++$b atau $b++

+ penjumlahan $a+$b

- pengurangan $a-$b

Tabel 2.9 Operator logika dalam PHP

Contoh Nama Hasil

$a and $b

$a && $b and true jika $a sama dengan $b $a or $b

$a || $b

or true jika salah satu $a atau $b adalah benar

$a xor $b exclusive or true jika salah satu $a atau $b adalah benar dan tidak keduanya !$a not true jika $a tidak benar


(33)

2.3.4 Mengolah Masukan Form Web

Pada pembuatan form, yang perlu diperhatikan adalah tag <FORM> dengan atribut action dan method. Atribut action nilainya berisi nama file yang akan diakses (proses) dan pada atribut method mempunyai dua macam pilihan nilai yaitu GET dan POST. Jika method GET digunakan, maka isian pada form akan dikirimkan kepada server sebagai satu kesatuan dengan string URLnya dan jika menggunakan method POST, maka form isian akan dikirimkan kepada server secara terpisah dari string URLnya. Kelemahan dari penggunaan method GET adalah data yang digunakan sebagai parameter tertampilkan, ini menjadi kelemahan jika data parameter sebenarnya tersembunyi, selain itu method GET tidak dapat digunakan untuk mengirimkan data ke server dalam jumlah yang besar.

Kemudian untuk elemen HTML yang berhubungan dengan form (bentuk kontrol form), satu hal yang perlu diingat adalah nama kontrol form tersebut, karena nama dijadikan sebagai nama variabel pada masing-masing elemen.

2.3.5 Struktur Kendali

2.3.5.1 Pernyataan if

Pernyataan if dikenal juga sebagai pernyataan percabangan, digunakan untuk menentukan salah satu dari pilihan alur eksekusi yang tersedia menurut kondisi tertentu.

Bentuk umum:

if (kondisi) {

Statement }

Berdasarkan bentuk di atas, jika kondisi terpenuhi maka statement atau pernyataan akan dikerjakan. Jika tidak, maka statement tidak akan dikerjakan.


(34)

Statement adalah sebuah perintah tunggal yang akan dikerjakan apabila kondisi bernilai true atau benar. Kondisi ini biasanya berupa operasi logika atau operasi relasi.

2.3.5.2 Pernyataan if…else…

Bentuk umum:

if (kondisi) {

Statement pertama (jika kondisi bernilai benar) }

else {

Statement kedua (jika kondisi bernilai salah) }

2.3.5.3 Pernyataan switch

Switch digunakan apabila ada satu ekspresi yang mimiliki banyak kemungkinan nilai, di mana masing-masing nilai ada perintah yang harus dikerjakan.

Bentuk umum:

Switch (kondisi) {

Case syarat1 Statement1; Break;

Case syarat2 Statement2; Break;

……

default:


(35)

}

Konsep switch mirip dengan pernyataan if, sehingga switch dapat digunakan sebagai alternatif pengganti pernyataan dari if. Break merupakan perintah yang digunakan untuk keluar dari suatu blok.

2.3.5.4 Pernyataan for

Perintah ini digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah ini tidak perlu dituliskan sebuah kondisi untuk diuji, hanya perlu penulisan sebuah kondisi untuk diuji yaitu nilai awal dan akhir variabel penghitung. Nilai variabel penghitung ini akan secara otomatis bertambah atau berkurang setiap kali pengulangan dilaksanakan.

Bentuk umum:

for(nilai_awal; nilai_akhir; penaikan/penurunan)

{

Statements; }

2.3.5.5 Pernyataan while

Perintah ini digunakan untuk mengulangi sebuah perintah sampai jumlah tertentu. Bentuk umum:

While (kondisi) {

Statements; }


(36)

2.3.5.6 Pernyataan do…while

Perintah ini mirip dengan perintah while. Proses pengulangan akan berjalan jika kondisi yang diperiksa di while masih bernilai benar dan perulangan akan dihentikan jika kondisinya telah bernilai salah.

Bentuk umum: do {

Statements; }while (kondisi)

2.3.6 Array

Array digunakan untuk mengidentifikasikan variabel yang memiliki sejumlah nilai berbeda, namun dengan satu nama variabel. Data yang disimpan dalam array menggunakan indeks yang berfungsi untuk memudahkan pencarian kembali data tersebut.

Untuk mendeklarasikan array digunakan fungsi array(). Contoh:

$hari=array(“Minggu”,”Senin”,”Selasa”,”Rabu”,”Kamis” ,

”Jumat”,”Sabtu”); echo $hari[0];

2.3.6.1 Pengurutan dalam Array

Nilai-nilai yang terdapat dalam array dapat pula diurutkan, untuk nilai numerik akan diurutkan dari nilai terendah ke nilai tertinggi sedangkan untuk string akan diurutkan a-z. Untuk mengurutkan nilai tersebut digunakan fungsi sort() dengan syarat elemen array tersebut adalah integer, untuk array dengan elemen string dapat digunakan fungsi assort().


(37)

2.3.7 Fungsi

Fungsi adalah konstruksi pemrograman untuk melakukan suatu proses. Dalam pemrograman biasa dilakukan suatu proses berulang kali, oleh karena itu fungsi sangat membantu untuk efisiensi penulisan kode program.

Bentuk umum:

Function nama_fungsi(argumen) {

Kode perintah }

2.3.8 Menampilkan String

2.3.8.1 Perintah printf

Fungsi printf mempunyai bentuk penulisan:

printf(format_string, argument…);

Format string adalah format yang menentukan tipe yang diletakkan setelah tanda %. Misalnya:

$umur=”30 tahun”; printf(“%d”,$umur);

Perintah printf di atas akan menghasilkan 30, karena %d akan membuat data ditampilkan dalam bentuk bilangan bulat.

Tabel berikut adalah format string yang digunakan untuk fungsi printf:

Tabel 2.10 Format string untuk fungsi printf

Kode Keterangan

d bilangan bulat b bilangan biner bulat o bilangan oktal (berbasis 8)

x bilangan heksadesimal(basis 16) dinyatakan dalam huruf kecil X bilangan heksadesimal (basis 16) dinyatakan dalam huruf besar


(38)

s string

f bilangan double (real)

% tanda % tidak perlu ada argument

2.3.8.2 Perintah print

Fungsi print mempunyai bentuk penulisan: print(string);

atau juga dapat dituliskan tanpa tanda kurung seperti: print”hello world”;

2.3.8.3 Perintah echo

Perintah echo identik dengan print, bentuk penulisan: echo string;

atau dengan tanda kurung; echo(string);

2.3.9 Modularisasi

Modularisasi adalah penyusunan/pembuatan program berdasarkan modul-modul. Dengan modularisasi ini diharapkan pemrogram dapat dengan mudah dan cepat untuk melakukan pengembangan aplikasi yang disusunnya. Modul juga dapat berupa fungsi atau prosedur.

Adapun jenis modularisasi di dalam PHP adalah:


(39)

Require() adalah bentuk modular yang digunakan untuk menggabungkan suatu script PHP atau teks dari file lain dengan script PHP yang memanggilnya, file yang digabungkan tidak harus script PHP.

Teknik require sangat berguna untuk membuat template yang memudahkan proses pengembangan aplikasi dengan menggunakan pola tampilan.

2. Include()

Include() hampir sama dengan require() tapi bedanya adalah include digunakan untuk menggabungkan suatu script atau file dengan script pemanggilnya.

Include dapat digunakan dalam struktur pengulangan, untuk melakukan pemanggilan file-file yang berbeda.

3. Require_once()

Require_once() pada dasarnya sama dengan require(), tapi perbedaannya adalah jika menggunakan require_once() apabila terjadi duplikasi fungsi atau duplikasi pemanggilan maka akan terhindar, karena secara default require_once() akan memaksa PHP untuk menggunakan nama fungsi atau pemanggilan yang telah ada.

4. Include_once()

Hampir sama dengan require_once() tetapi perbedaanya adalah pada include_once() setiap kali dijalankan akan selalu ada evaluasi ulang.

2.4 MySQL

Dalam MySQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logic merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom (column). Baris pada tabel sering disebut sebagai instance dari data sedangkan kolom sering disebut sebagai attributes atau field[10].


(40)

2.4.1 Tipe Data Field

Data yang terdapat dalam tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam field ini memiliki tipe sendiri-sendiri. MySQL mengenal beberapa tipe data field, yaitu:

1. tipe data numerik 2. tipe data string

3. tipe data char() dan varchar() 4. tipe data tanggal

2.4.2 Perintah-Perintah Dasar MySQL

Berikut adalah perintah-perintah dasar pada MySQL: 1. Membuat dan menghapus database

Untuk membuat database baru di MySQL digunakan perintah: create database nama_db;

Untuk melihat database yang telah dibuat digunakan perintah: show databases;

Sedangkan untuk menghapus database digunakan perintah: drop database nama_db;

2. Menggunakan database

Untuk mengaktifkan database yang telah dibuat, digunakan perintah: use nama_db;

3. Menciptakan tabel

Tabel merupakan bagian dari database sehingga untuk menciptakan tabel, terlebih dahulu harus menciptakan database kemudian mengaktifkan database tersebut. Untuk menciptakan tabel digunakan perintah: create table nama_tabel.


(41)

no_peg char(12) not null primary key, nama_peg varchar(100) not null, kelamin ENUM(‘P’,’W’), tgl_lahir date,

alamat varchar(100));

4. Mengetahui struktur tabel

Untuk mengetahui struktur tabel yang ada, dapat digunakan perintah DESCRIBE atau DESC. Misalkan untuk melihat struktur tabel daf_pegawai: desc daf_pegawai;

Untuk mengetahui daftar tabel yang ada pada suatu database, digunakan perintah: show tables;

5. Mengubah struktur tabel

Pada saat mengalami kesalahan dalam menuliskan struktur tabel, kesalahan tersebut dapat diperbaiki dengan menggunakan perintah ALTER TABLE. Perintah ini sangat luas cakupannya dalam memberikan perubahan pada struktur tabel yang ada, seperti menambahkan, mengubah, atau memindahkan kolom dari suatu tabel. Perintah ini dapat digunakan secara berurutan.

Contoh: alter table daf_pegawai drop kelamin, add temp_lahir varchar(100) not null;

2.4.3 DML (Data Manipulation Language)

DML adalah bahasa yang digunakan untuk memanipulasi data seperti menambah, menghapus, menampilkan, mengubah suatu data. Perintah yang tergolong DML adalah insert, update, delete, dan select.

2.4.4 Fungsi-fungsi MySQL


(42)

1. mysql_connect()

mysql_connect digunakan untuk melakukan koneksi ke server database MySQL. Format penulisan: mysql_connect (nama_host, nama_user, password);

Jika parameter nama host tidak dideklarasikan, otomatis akan berisi localhost. Koneksi ke database akan secara otomatis terputus pada saat script program selesai dieksekusi seluruhnya, kecuali diberikan perintah fungsi mysql_close(). Fungsi mysql_connect() akan menghasilkan nilai true jika koneksi berhasil dilakukan dan nilai false jika salah.

2. mysql_pconnect()

Fungsi mysql_pconnect juga digunakan untuk membangun akses ke database, sama dengan fungsi mysql_connect(). Sedikit perbedaannya adalah jika menggunakan fungsi mysql_pconnect(), koneksi tidak akan terputus meskipun program telah selesai dieksekusi.

3. mysql_create_db()

Fungsi mysql_create_db() digunakan untuk membuat database, biasanya untuk sebuah aplikasi digunakan sebuah database yang akan berisi beberapa tabel. Format penulisan: mysql_create_db(“nama_database”);

4. mysql_select_db()

Fungsi ini berguna untuk memilih/mengaktifkan database, seperti penggunaan use. Format penulisannya: mysql_select_db(database, pengenal_hub).Dalam hal ini, database adalah nama database yang digunakan, sedang pengenal_hub adalah pengenal yang diperoleh dari pemanggilan fungsi mysql_connect().

5. mysql_query

PHP tidak menyediakan fungsi khusus untuk membuat tabel dengan field-fieldnya, sehingga untuk membuat tabel data tetap menggunakan sintaks dari program database MySQL yang digunakan, kemudian sintaks dioperasikan


(43)

menggunakan fungsi mysql_query() yang berfungsi untuk menjalankan perintah query yang terdapat di MySQL.

6. mysql_db_query()

Fungsi ini digunakan untuk menjalankan suatu permintaan terhadap suatu

database. Format penulisan:

mysql_db_query(database,permintaan,pengenal_hub)

7. mysql_fetch_row()

Fungsi ini menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil. Format penulisannya ada: mysql_fetch_row(pengenal_hasil). Pengenal hasil menyatakan nilai yang diperoleh dari hasil fungsi mysql_db_query atau mysql_query. Fungsi mysql_fetch_row() mengambil data dari variabel pengenal_hasil secara baris per baris. Pengambilan pertama adalah baris data yang paling atas. Data yang diambil dalam bentuk array, di mana elemen dari array adalah field-field dari table data.

8. mysql_fetch_array

Fungsi mysql_fetch_array sama dengan fungsi mysql_fetch-row(), di mana data dibaca baris per baris. Namun jika menggunakan mysql_fetch_array maka hasil yang diperoleh dalam bentuk array asosiatif.

2.5 Analisis dan Perancangan Sistem

Analisis sistem mempelajari interaksi yang sepenuhnya rumit, tidak terdefinisi, dan sukar, antara manusia, kelompok manusia, komputer dan organisasi. Masalah ini menjadi lebih pelik karena suatu sistem tidak pernah dianggap selesai. Seringkali status selesainya sistem diberikan, lebih karena suatu sistem dapat digunakan dalam waktu yang relatif lama[8].

Analisis dan perancangan sistem, seperti yang ditampilkan oleh penganalisis sistem, berupaya menganalisis input data atau aliran data secara sistematis,


(44)

memproses atau mentransformasikan data, menyimpan data, dan menghasilkan output informasi dalam konteks bisnis khusus. Selanjutnya, analisis dan perancangan sistem digunakan untuk menganalisis, merancang, dan mengimplementasikan peningkatan fungsi dari sistem yang akan dibuat[5].

Merancang suatu sistem tanpa merencanakannya dengan tepat dapat menghasilkan kekecewaan yang sangat besar dan menyebabkan sistem menjadi kacau. Analisis dan desain sistem ditujukan untuk menyusun analisis dan perancangan sistem informasi, usaha yang banyak yang memungkinkan hal-hal yang tidak dipikirkan diatasi dengan berbagai cara. Hal ini bisa dianggap sebagai serangkaian proses yang secara sistematis dilakukan untuk meningkatkan hasil melalui penggunaan sistem informasi terkomputerisasi. Bagian terbesar dari analisis dan perancangan sistem melibatkan kerja sama dengan pengguna sistem informasi. Untuk membuat suatu aplikasi yang baik, perlu dilakukan analisis terhadap masalah dan kemungkinan yang dihadapi sewaktu merancang sistem pengidentifikasian ini sehingga dapat dilanjutkan ke tahapan selanjutnya. Setelah hasil analisis diperoleh, dilanjutkan ke tahapan perancangan. Pada tahap ini perlu diperhatikan aspek interaksi manusia dengan komputer. Apakah hasil rancangan sesuai dengan kebutuhan user, sehingga user merasa puas dengan hasil rancangan tersebut[5].

2.6 Macromedia Dreamweaver

Dalam proses pembuatan website, ada banyak software yang dapat digunakan. Dreamweaver adalah salah satu software untuk membuat web yang sangat fleksibel dan mudah digunakan.

Dreamweaver juga dapat digunakan dalam pembuatan aplikasi berbasis web untuk melengkapi tampilan antarmuka dari aplikasi yang dibuat dengan menggunakan bahasa pemrograman yang khusus untuk pembuatan aplikasi berbasis web seperti PHP, ASP.Net, dan lain sebagainya.


(45)

2.7 Macromedia Flash MX

Pada saat ini, animasi sudah menjadi elemen penting yang mendukung tampilan halaman web, presentasi, maupun tampilan dalam suatu program aplikasi, karena animasi dapat membuat tampilan suatu web, presentasi ataupun aplikasi menjadi lebih dinamis dan atraktif sehingga user nyaman dalam penggunaan web ataupun aplikasi tersebut.

Animasi memiliki kaitan yang erat dengan pengaturan properti objek. Animasi adalah tampilan suatu objek yang propertinya (posisi, ukuran, warna, dan yang lainnya) berubah pada durasi/waktu tertentu sesuai pengaturan yang dilakukan.

Macromedia Flash MX merupakan suatu program yang sangat ideal untuk pembuatan animasi. Program ini memberikan fasilitas dan tool yang efektif dan fleksibel untuk menghasilkan animasi yang menarik.

2.8 Adobe Photoshop

Adobe Photoshop merupakan software image editing format bitmap. Adobe Photoshop sering digunakan sebagai aplikasi photo retouching (perbaikan foto), pengomposisian image, efek dalam pembuatan teks, dan lain-lain. Berikut adalah beberapa teknik yang sering digunakan di Adobe Photoshop:

1. Seleksi merupakan teknik untuk memilih bagian gambar.

2. Transparansi/blending mode merupakan teknik untuk mengatur warna, transparansi pada gambar, dan layer yang tumpang tindih

3. Resolusi merupakan teknik untuk mengetahui kepadatan dan ketajaman gambar

4. Image mode dan adjusment merupakan teknik untuk mengatur format file, jenis warna, kecerahan pada gambar

5. Filter/efek merupakan teknik untuk memberi kesan khusus pada suatu gambar.


(46)

BAB 3

PERANCANGAN SISTEM PAKAR

3.1 Perancangan Basis Pengetahuan

Basis pengetahuan merupakan bagian utama dalam suatu sistem pakar yang juga sering disebut sebagai sistem berbasis pengetahuan, karena di dalam pengambilan kesimpulan sistem pakar membutuhkan basis pengetahuan yang berisikan fakta-fakta yang dapat digunakan untuk menyelesaikan masalah yang ada.

Berikut adalah data (fakta-fakta) yang dibutuhkan untuk membangun sistem pakar pengidentifikasi taksonomi tumbuhan gymnospermae ini:

1. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae Kelas : Cycadophyta Ordo : Cycadales Family : Cycadaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon atau semak

b. Daun berbentuk linear, majemuk, dan tersusun dalam rozet batang c. Bunga jantan berbentuk strobilus

d. Bunga betina berbentuk seperti daun yang menyatu renggang dan membentuk lingkaran

2. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae Kelas : Ginkyophyta Ordo : Ginkgoales Family : Ginkgoaceae


(47)

Ciri-ciri:

a. Habitus tumbuhan berupa pohon

b. Daun berbentuk kipas, dengan tangkai daun yang panjang c. Bunga jantan berbentuk catkin

d. Bunga betina berbentuk seperti buah cherry, dengan panjang sekitar 1,5-2 cm, bertangkai panjang, berwarna kuning kecoklatan, dan berbau tengik

3. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Taxales

Family : Taxaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon atau semak b. Daun berbentuk garis atau lanset

c. Bunga jantan berbentuk strobilus, dengan panjang sekitar 2-5 mm d. Bunga betina berbentuk seperti buah cherry, bertangkai pendek, dan

biji tidak seluruhnya tertutup oleh pembungkus biji (aril)

4. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Taxales

Family : Cephalotaxaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon atau semak b. Daun berbentuk garis atau lanset

c. Bunga jantan berbentuk strobilus, dengan panjang sekitar 4-25 mm d. Bunga betina berbentuk seperti buah cherry, bertangkai pendek, dan


(48)

5. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Podocarpales

Family : Podocarpaceae Ciri-ciri:

a. Habitus berupa pohon atau semak

b. Daun berbentuk lanset atau garis atau sisik c. Bunga jantan berbentuk catkin

d. Bunga betina berbentuk seperti plum, silindris, berdaging

6. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Araucariales

Family : Araucariaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon b. Daun berbentuk jarum

c. Bunga jantan berbentuk strobilus, lonjong d. Bunga betina berbentuk strobilus, hampir bulat

7. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Pinales

Family : Pinaceae Ciri-ciri:


(49)

b. Daun berbentuk jarum

c. Bunga jantan berbentuk strobilus d. Bunga betina berbentuk strobilus

8. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Cupressales

Family : Taxodiaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon b. Daun berbentuk lanset

c. Bunga jantan berbentuk catkin

d. Bunga betina berbentuk strobilus, bulat, lonjong, berkayu

9. Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae

Kelas : Coniferophyta (Pinophyta) Ordo : Cupressales

Family : Cupressaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon atau semak b. Daun berbentuk sisik

c. Bunga jantan berbentuk strobilus

d. Bunga betina berbentuk strobilus, hampir bulat, berdaging, berwarna coklat, dan terdapat 8-12 ujung yang lancip pada kulit luarnya

10.Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae


(50)

Kelas : Gnetophyta Ordo : Ephedrales Family : Ephedraceae Ciri-ciri:

a. Habitus tumbuhan berupa semak b. Daun berbentuk sisik

c. Bunga jantan berbentuk strobilus, dan tumbuh pada simpul-simpul batang

d. Bunga betina berbentuk strobilus, bulat lonjong, berdaging, berwarna merah

11.Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae Kelas : Gnetophyta Ordo : Gnetales Family : Gnetaceae Ciri-ciri:

a. Habitus tumbuhan berupa pohon

b. Daun berbentuk lonjong, melebar, dengan ukuran sekitar 7,5-20 cm x 2,5-10 cm

c. Bunga jantan berbentuk catkin

d. Bunga betina berbentuk seperti biji, ellips, dengan pembungkus biji (aril) berwarna oranye kemerahan atau hijau, dengan ukuran sekitar 1-2,5 x 0,9-1.5 cm

12.Kingdom : Plantae

Divisi : Spermatophyta Sub Divisi : Gymnospermae Kelas : Gnetophyta Ordo : Welwitschiales Family : Welwitschiaceae Ciri-ciri:


(51)

a. Tumbuhan merupakan tumbuhan yang hanya memiliki dua daun b. Sepasang daun yang terus tumbuh memanjang selama tumbuhan

hidup

c. Bunga jantan berbentuk strobilus, silindris, panjang 0,5-1 inch, muncul berkelompok, biasanya 2-3 strobilus dalam satu tangkai, berwarna oranye kecoklatan

d. Bunga betina berbentuk strobilus, panjang 1,5-2,5 inch, berwarna merah tua terang

Data di atas merupakan data taksonomi tumbuhan gymnospermae beserta ciri-ciri dari tumbuhan tersebut. Data inilah yang akan menjadi input untuk menghasilkan data output untuk sistem pakar ini.

3.1.1 Perancangan Tabel Basis Pengetahuan

Pengetahuan atau data yang ada, kemudian disusun ke dalam bentuk tabel untuk mempermudah pengambilan kesimpulan dalam menyelesaikan masalah yang ada pada sistem pakar.

Pada sistem pakar ini terdapat tiga tabel basis pengetahuan yaitu: 1. Tabel Pertanyaan

Kode Pertanyaan Awal Pilihan Akhir Pilihan

Tabel pertanyaan ini berisikan pertanyaan-pertanyaan yang akan ditampilkan pada dialog antara sistem dan user.

Keterangan tabel:

a. Field Kode berisi kode pertanyaan yang diatur sebagai primary key pada tabel pertanyaan


(52)

b. Field Pertanyaan berisi pertanyaan-pertanyaan yang dibutuhkan dalam dialog pada sistem pakar

c. Field Awal Pilihan berisi kode dari awal pilihan jawaban dari pertanyaan yang akan ditampilkan, di mana kode ini merupakan foreign key yang berhubungan dengan kode pada tabel pilihan

d. Field Akhir Pilihan berisi kode dari akhir pilihan jawaban dari pertanyaan yang akan ditampilkan, di mana kode ini juga merupakan foreign key yang berhubungan dengan kode pada tabel pilihan

2. Tabel Pilihan

Kode Pertanyaan Pilihan Solusi

Tabel pilihan ini berisikan pilihan-pilihan yang akan ditampilkan sebagai pilihan jawaban dari pertanyaan pada dialog antara sistem dan user.

Keterangan Tabel:

a. Field Kode berisi kode pilihan yang diatur sebagai primary key pada tabel pilihan

b. Field pertanyaan berisi kode dari pertanyaan yang akan ditampilkan, di mana kode ini merupakan foreign key yang berhubungan dengan tabel pertanyaan

c. Field pilihan berisi pilihan-pilihan jawaban yang akan ditampilkan bersamaan dengan pertanyaan

d. Field solusi berisi kode dari solusi atau jawaban akhir dari dialog yang telah dilakukan sistem dan user. Kode ini merupakan foreign key yang berhubungan dengan tabel solusi

3. Tabel Solusi


(53)

Start

Tampilkan pertanyaan dan pilihan

Baca pilihan

Tampilkan solusi

End Solusi

Ditemukan?

Tabel solusi ini berisikan solusi-solusi sebagai jawaban akhir dari dialog yang telah dilakukan oleh sistem dan user.

Keterangan tabel:

a. Field kode berisi kode solusi yang diatur sebagai primary key pada tabel solusi

b. Field kelas berisi data taksonomi pada tingkat kelas c. Field ordo berisi data taksonomi pada tingkat ordo d. Field family berisi data taksonomi pada tingkat family

Diagram Alir Sistem

Adapun diagram alir dari sistem pakar ini adalah sebagai berikut:


(54)

Dari diagram alir di atas, dapat dijelaskan langkah-langkah proses yang dilakukan sebagai berikut:

Saat menggunakan sistem pakar ini, pertama kali user akan dihadapkan dengan pertanyaan dan pilihan-pilihan jawaban yang ditampilkan oleh sistem. Setelah user memilih salah satu dari pilihan jawaban yang telah disediakan, maka sistem akan membaca pilihan yang dimasukkan oleh user tadi, kemudian memutuskan apakah pilihan jawaban yang telah dipilih oleh user tadi telah cukup untuk mendapatkan hasil akhir yaitu solusi yang menampilkan tingkatan taksonomi mulai dari kingdom, divisi, subdivisi, class, ordo, dan family. Jika belum menemukan solusi, maka sistem akan terus memberikan pertanyaan yang berkaitan kepada user, sampai solusi ditemukan.

Perancangan Antarmuka

Untuk melengkapi sistem pakar ini diperlukan antarmuka yang user friendly agar dapat memberikan kenyamanan pada user dalam menggunakan sistem ini. Antarmuka dan fasilitas ensiklopedia dari sistem pakar ini dikerjakan dengan menggunakan Macromedia Dreamweaver, Macromedia Flash MX, dan Adobe Photoshop.

Agar gambar-gambar yang diperlukan dalam sistem pakar ini dapat digunakan sesuai dengan keperluan, maka digunakan Adobe Photoshop untuk memperbaiki ataupun meng-edit gambar-gambar yang akan digunakan. Untuk membuat tampilan antarmuka sistem lebih menarik dan dinamis, dilakukan penambahan animasi yang dibuat dengan menggunakan Macromedia Flash MX. Setelah sistem pakar, ensiklopedia, dan tampilan antarmuka yang dirancang selesai dibuat lalu semua bagian yang ada disatukan dengan menggunakan Macromedia Dreamweaver.


(55)

Adapun perancangan antarmuka dari sistem pakar ini adalah sebagai berikut:

Gambar 3.1 Rancangan Menu Utama

Gambar 3.2 Rancangan Tampilan Sistem Pakar

Keterangan: 1. Tombol lanjut ke menu sistem pakar 2. Tombol lanjut

ke menu ensiklopedia. JUDUL

1 2

sistem pakar ensiklopedia

Keterangan:

1. Tombol untuk menu lihat gambar

2. Tombol untuk kembali ke menu utama.

Pertanyaan dan pilihan jawaban

1 2


(56)

Gambar 3.3 Rancangan Tampilan Menu Ensiklopedia

Keterangan:

1. Tombol next ke halaman ensiklopedia berikutnya 2. Tombol back ke

halaman ensiklopedia sebelumnya. 3. Tombol untuk

kembali ke menu utama.

3

Tampilan ensiklopedia

2 1


(57)

BAB 4

IMPLEMENTASI SISTEM PAKAR

4.1 Implementasi Tabel Basis Pengetahuan

Berikut ini adalah tampilan dari implementasi tabel basis pengetahuan yang telah dirancang sebelumnya.

Gambar 4.1 Tampilan Tabel Pertanyaan pada Phpmyadmin


(58)

Gambar 4.3 Tampilan Tabel Solusi pada Phpmyadmin

4.2 Desain Antarmuka

Antarmuka dalam suatu sistem sangatlah penting, selain untuk membuat tampilan sistem terlihat bagus, antarmuka juga dapat mempermudah user untuk menggunakan suatu sistem.

4.2.1 Desain Antarmuka Menu Utama

Pada sistem pakar ini menu utama terdiri dari dua bagian yaitu sistem pakar dan ensiklopedia. Ensiklopedia memuat informasi-informasi yang berkenaan tentang tumbuhan-tumbuhan gymnospermae. Berikut adalah tampilan dari halaman dan menu utama:


(59)

Gambar 4.5 Halaman Menu Utama

4.2.2 Desain Antarmuka Sistem Pakar

Sistem pakar akan menampilkan pertanyaan beserta pilihan-pilihan jawaban yang dapat dipilih oleh user. Jawaban yang telah dipilih oleh user akan menentukan pertanyaan selanjutnya dan juga menentukan solusi akhir yang akan ditampilkan. Berikut adalah beberapa tampilan pertanyaan dan pilihan jawaban yang dipilih user sampai menghasilkan solusi.


(60)

Gambar 4.7 Pertanyaan dan Pilihan Jawaban 2

Gambar 4.8 Pertanyaan dan Pilihan Jawaban 3


(61)

Gambar 4.10 Pertanyaan dan Pilihan Jawaban 5

Gambar 4.11 Solusi

Sistem pakar ini juga dilengkapi menu lihat gambar yang dapat digunakan untuk melihat gambar dari ciri-ciri tumbuhan gymnospermae. Berikut adalah tampilan dari menu lihat gambar.


(62)

Gambar 4.12 Tampilan Menu Lihat Gambar

4.2.3 Desain Antarmuka Ensiklopedia

Fasilitas ensiklopedia dirancang untuk memberikan informasi tambahan mengenai tumbuhan-tumbuhan gymnospermae untuk user. Berikut adalah beberapa tampilan antarmuka ensiklopedia.


(63)

Start

Gambar 4.14 Tampilan Halaman Ensiklopedia 2

4.3 Contoh Pengujian Sistem Pakar

Berikut adalah contoh dari interaksi yang dilakukan user dengan sistem pakar sehingga dapat menghasilkan suatu solusi.


(64)

Pertanyaan 4:

Berapakah panjang strobilus jantan

 2-3 mm

 4-5 mm

 6-25 mm

Pertanyaan 5:

Bagaimana aril pada biji

 Tidak membungkus biji sepenuhnya

 Membungkus biji sepenuhnya Pertanyaan 2:

Bagaimana bentuk daun tumbuhan

 Garis

 Lanset

 Daun linear, majemuk, tersusun dalam rozet batang

 Berbentuk seperti kipas, bertangkai panjang

 Jarum

 Sisik

 Lonjong, panjang sekitar 7.5-20x2.5-10 cm Pertanyaan 1:

Bagaimana habitus tumbuhan

 Pohon

 Semak

 Tumbuhan dengan dua daun

Pertanyaan 3:

Bagaimana bentuk bunga jantan

 Catkin

 Strobilus

Solusi:

Tumbuhan memiliki taksonomi sebagai berikut: Kingdom : Plantae

Divisi : Spermatophyta Subdivisi : Gymnospermae

Class : Coniferophyta/ pinophyta Ordo : Taxales


(65)

Dari skema di atas dapat dilihat bahwa kesimpulan/solusi didapat setelah user menjawab lima pertanyaan dari sistem pakar. Pada pertanyaan pertama, jika user memilih jawaban ’pohon’ maka akan muncul pertanyaan mengenai daun tumbuhan. Jika user kemudian memilih jawaban ’garis’, akan muncul pertanyaan mengenai bentuk bunga jantan. Pada saat user memilih jawaban ’strobilus’, pertanyaan selanjutnya mengenai ukuran dari strobilus jantan yang jika user memilih jawaban ’4-5 mm’, maka user akan dihadapkan dengan pertanyaan mengenai aril pada biji. Pada bagian ini, pertanyaan mengenai aril pada biji merupakan pertanyaan akhir, sehingga pada saat user memilih jawabannya maka sistem akan menghasilkan solusi seperti yang ditampilkan pada skema di atas. Setiap jawaban yang dipilih oleh user akan menentukan pertanyaan yang akan ditampilkan selanjutnya oleh sistem pakar.


(66)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari pengerjaan tugas akhir ini, penulis dapat mengambil kesimpulan sebagai berikut: 1. Pengidentifikasian taksonomi tumbuhan dapat dilakukan sampai ke tingkat

suku (family).

2. Pengidentifikasian taksonomi dilakukan dengan metode forward chaining yang didasarkan pada pengumpulan data ciri tumbuhan yang telah diinput oleh user dengan memilih pilihan jawaban untuk setiap pertanyaan yang diberikan.

5.2 Saran

Aplikasi sistem pakar pengidentifikasian taksonomi tumbuhan gymnospermae ini masih dapat dikembangkan lagi, misalnya dengan penambahan penggunaan certainty factor untuk menentukan tingkat kepastian/kebenaran dari identifikasi taksonomi.


(67)

DAFTAR PUSTAKA

[1] Bold, Harold C, Constantine J Alexopoulos and Theodore Delevoryas. 1987. Morphology of Plants and Fungi. Fifth Edition. New York. Harper & Row Publisher.

[2] Buchanan, B. dan Shortliffe, E. 1984. Rule Based Expert Systems. Canada. Addison-Wesley Publishing Company.

[3] Haupt, Arthur W. 1953. Plant Morphology. New York. McGraw-Hill Book Company,INC.

[4] Kadir, Abdul. 2003. Pemrograman Web Mencakup: HTML, CSS, JavaScript & PHP. Yogyakarta. Penerbit Andi Yogyakarta.

[5] Kendall, Kenneth E., and Julie E. Kendall. 2002. Systems Analysis and Design. Fifth Edition. New Jersey: Pearson Education, Inc.

[6] Kussrini. 2006. Sistem Pakar: Teori dan Aplikasi. Yogyakarta. Penerbit Andi Yogyakarta.

[7] Lawrence, George H. M. 1964. Taxonomy of Vascular Plants. New York. The Macmillan Company.

[8] Pohan, Husni Iskandar, Kusnassriyanto Saiful Bahri. 1997. Pengantar Perancangan Sistem. Jakarta. Erlangga.

[9] Sutarman. 2000. Membangun Aplikasi Web dengan PHP dan MySQL. Penerbit Graha Ilmu.

[10] Tjitrosoepomo, Gembong. 1996. Taksonomi Tumbuhan Spermatophyta. Bulaksumur, Yogyakarta. Universitas Gajah Mada Press.

[11] Waterman, D. A. 1986. A Guide to Expert Systems. Canada. Addison-Wesley Publishing Company.

[12]

[13 tanggal 31 Juli 2007.

[14]

[15]


(68)

LAMPIRAN A. KODE PROGRAM

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> <head>

<title>Sistem Pakar</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head> <body>

<table width="983" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">

<!--DWLayoutTable--> <tr>

<td width="182" height="130">&nbsp;</td> <td width="577">&nbsp;</td> <td width="214">&nbsp;</td> <td width="10">&nbsp;</td> </tr> <tr> <td height="181">&nbsp;</td>

<td align="center" valign="middle"><div align="center"> <font color="#FFFFFF" size="5" face="Verdana">

<?

include "sambung.php"; if ( Empty($pilihan) ) {

$pilihan=1; }

if ($pilihan != -1) {

$query=mysql_query("select * from questions where kode=$pilihan");

$data=mysql_fetch_array($query); echo "$data[pertanyaan]<br>"; $awal=$data[awalPilihan];

$query=mysql_query("select * from pilihan where kode between

\"$data[awalPilihan]\" and \"$data[akhirPilihan]\"");

$data=mysql_fetch_array($query); echo "


(69)

<form name=isi method=post action=coba.php onsubmit=\"return

cek()\">"; $akhir=$awal; echo "

<input type=radio id=$awal name=pilihan

value=$data[pertanyaan]>$data[pilihan]</input><br>"; while ( $hasil=mysql_fetch_row($query,$data) ) {

$akhir++; echo "

<input type=radio id=$akhir name=pilihan value=$hasil[pertanyaan]>$hasil[pilihan]</input><br> ";

}

echo "<input type=hidden value=-1 name=solusi></input>";

echo "<br><input type=submit value=lanjut name=next></input>"; echo" </form>"; } else {

$query=mysql_query("select * from pilihan where kode=$solusi");

$data=mysql_fetch_array($query); if ($data[solusi]!=13)

{

$query=mysql_query("select * from solutions where

kode=$data[solusi]");

$data=mysql_fetch_array($query);

echo "Tumbuhan memiliki taksonomi sebagai berikut: <br><br>";

echo "Kingdom: Plantae<br>";

echo "Divisi: Spermatophyta<br>"; echo "Sub Divisi: Gymnospermae<br>"; echo "Class : $data[class]<br>"; echo "Ordo : $data[ordo]<br>"; echo "Family: $data[family]<br>";


(70)

} else {

echo "tumbuhan tidak termasuk dalam sub divisi gymnospermae"; } } ?> <? echo" <script language=\"javascript\"> function cek() { var i=$awal; for (i=$awal;i<=$akhir;i++) { if (document.getElementById(i).checked ) { isi.solusi.value=i; return true; } }

alert(\"Anda belum memilih\"); return false; } </script>"; ?> </div></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td height="98">&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td height="24">&nbsp;</td> <td>&nbsp;</td>

<td align="center" valign="top" bgcolor="#003300" div> <form method=post


(71)

<input name="back" type="submit" id="back" value="kembali ke menu utama">

</form></td> <td>&nbsp;</td> </tr>

<tr>

<td height="80">&nbsp;</td> <td>&nbsp;</td>

<td>&nbsp;</td> <td>&nbsp;</td> </tr>

</table> </body> </html>


(1)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari pengerjaan tugas akhir ini, penulis dapat mengambil kesimpulan sebagai berikut: 1. Pengidentifikasian taksonomi tumbuhan dapat dilakukan sampai ke tingkat

suku (family).

2. Pengidentifikasian taksonomi dilakukan dengan metode forward chaining yang didasarkan pada pengumpulan data ciri tumbuhan yang telah diinput oleh user dengan memilih pilihan jawaban untuk setiap pertanyaan yang diberikan.

5.2 Saran

Aplikasi sistem pakar pengidentifikasian taksonomi tumbuhan gymnospermae ini masih dapat dikembangkan lagi, misalnya dengan penambahan penggunaan certainty factor untuk menentukan tingkat kepastian/kebenaran dari identifikasi taksonomi.


(2)

DAFTAR PUSTAKA

[1] Bold, Harold C, Constantine J Alexopoulos and Theodore Delevoryas. 1987. Morphology of Plants and Fungi. Fifth Edition. New York. Harper & Row Publisher.

[2] Buchanan, B. dan Shortliffe, E. 1984. Rule Based Expert Systems. Canada. Addison-Wesley Publishing Company.

[3] Haupt, Arthur W. 1953. Plant Morphology. New York. McGraw-Hill Book Company,INC.

[4] Kadir, Abdul. 2003. Pemrograman Web Mencakup: HTML, CSS, JavaScript & PHP. Yogyakarta. Penerbit Andi Yogyakarta.

[5] Kendall, Kenneth E., and Julie E. Kendall. 2002. Systems Analysis and Design. Fifth Edition. New Jersey: Pearson Education, Inc.

[6] Kussrini. 2006. Sistem Pakar: Teori dan Aplikasi. Yogyakarta. Penerbit Andi Yogyakarta.

[7] Lawrence, George H. M. 1964. Taxonomy of Vascular Plants. New York. The Macmillan Company.

[8] Pohan, Husni Iskandar, Kusnassriyanto Saiful Bahri. 1997. Pengantar Perancangan Sistem. Jakarta. Erlangga.

[9] Sutarman. 2000. Membangun Aplikasi Web dengan PHP dan MySQL. Penerbit Graha Ilmu.

[10] Tjitrosoepomo, Gembong. 1996. Taksonomi Tumbuhan Spermatophyta. Bulaksumur, Yogyakarta. Universitas Gajah Mada Press.

[11] Waterman, D. A. 1986. A Guide to Expert Systems. Canada. Addison-Wesley Publishing Company.

[12]

[13 tanggal 31 Juli 2007.

[14]

[15]


(3)

LAMPIRAN A. KODE PROGRAM <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> <head>

<title>Sistem Pakar</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head> <body>

<table width="983" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">

<!--DWLayoutTable--> <tr>

<td width="182" height="130">&nbsp;</td> <td width="577">&nbsp;</td>

<td width="214">&nbsp;</td> <td width="10">&nbsp;</td> </tr>

<tr>

<td height="181">&nbsp;</td>

<td align="center" valign="middle"><div align="center"> <font color="#FFFFFF" size="5" face="Verdana">

<?

include "sambung.php"; if ( Empty($pilihan) ) {

$pilihan=1; }

if ($pilihan != -1) {

$query=mysql_query("select * from questions where kode=$pilihan");

$data=mysql_fetch_array($query); echo "$data[pertanyaan]<br>"; $awal=$data[awalPilihan];

$query=mysql_query("select * from pilihan where kode between

\"$data[awalPilihan]\" and \"$data[akhirPilihan]\"");

$data=mysql_fetch_array($query); echo "


(4)

<form name=isi method=post action=coba.php onsubmit=\"return

cek()\">"; $akhir=$awal; echo "

<input type=radio id=$awal name=pilihan

value=$data[pertanyaan]>$data[pilihan]</input><br>"; while ( $hasil=mysql_fetch_row($query,$data) ) {

$akhir++; echo "

<input type=radio id=$akhir name=pilihan value=$hasil[pertanyaan]>$hasil[pilihan]</input><br> ";

}

echo "<input type=hidden value=-1 name=solusi></input>";

echo "<br><input type=submit value=lanjut name=next></input>";

echo" </form>"; }

else {

$query=mysql_query("select * from pilihan where kode=$solusi");

$data=mysql_fetch_array($query); if ($data[solusi]!=13)

{

$query=mysql_query("select * from solutions where

kode=$data[solusi]");

$data=mysql_fetch_array($query);

echo "Tumbuhan memiliki taksonomi sebagai berikut: <br><br>";

echo "Kingdom: Plantae<br>";

echo "Divisi: Spermatophyta<br>"; echo "Sub Divisi: Gymnospermae<br>"; echo "Class : $data[class]<br>"; echo "Ordo : $data[ordo]<br>"; echo "Family: $data[family]<br>";


(5)

} else {

echo "tumbuhan tidak termasuk dalam sub divisi gymnospermae";

} }

?>

<? echo"

<script language=\"javascript\"> function cek()

{

var i=$awal;

for (i=$awal;i<=$akhir;i++) {

if

(document.getElementById(i).checked ) {

isi.solusi.value=i; return true;

} }

alert(\"Anda belum memilih\"); return false;

}

</script>"; ?>

</div></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr>

<tr>

<td height="98">&nbsp;</td> <td>&nbsp;</td>

<td>&nbsp;</td> <td>&nbsp;</td> </tr>

<tr>

<td height="24">&nbsp;</td> <td>&nbsp;</td>

<td align="center" valign="top" bgcolor="#003300" div> <form method=post


(6)

<input name="back" type="submit" id="back" value="kembali ke menu utama">

</form></td> <td>&nbsp;</td> </tr>

<tr>

<td height="80">&nbsp;</td> <td>&nbsp;</td>

<td>&nbsp;</td> <td>&nbsp;</td> </tr>

</table> </body> </html>