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
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,
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
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.
ABSTRAK
DESIGNING EXPERT SYSTEM FOR IDENTIFYING THE TAXONOMY OF GYMNOSPERMAE
ABSTRACT
2.3.4 Mengelola Masukan Form Web 23
2.6 Macromedia Dreamweaver 36
2.7 Macromedia Flash MX 36
4.1 Implementasi Tabel Basis Pengetahuan 49
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
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
ABSTRAK
DESIGNING EXPERT SYSTEM FOR IDENTIFYING THE TAXONOMY OF GYMNOSPERMAE
ABSTRACT
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.
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:
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
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
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
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.
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
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.
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)
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 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
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.
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
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
Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi, arahan, atau
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).
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
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.
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
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
dan diakhiri dengan tanda lebih besar (>). Ada tiga cara untuk menuliskan script PHP
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
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 adalah benar dan tidak keduanya
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
}
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.
}
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;
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
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
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:
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
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.
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
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
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].
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.
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.
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
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
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:
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
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
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:
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
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:
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
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
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
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
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:
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.
Gambar 4.7 Pertanyaan dan Pilihan Jawaban 2
Gambar 4.8 Pertanyaan dan Pilihan Jawaban 3
Gambar 4.10 Pertanyaan dan Pilihan Jawaban 5
Gambar 4.11 Solusi
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.
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.
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
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
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]
LAMPIRAN A. KODE PROGRAM
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<table width="983" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">
<!--DWLayoutTable--> <tr>
<td width="182" height="130"> </td> <td width="577"> </td>
<td width="214"> </td> <td width="10"> </td> </tr>
<tr>
<td height="181"> </td>
<td align="center" valign="middle"><div align="center"> <font color="#FFFFFF" size="5" face="Verdana">
$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]\"");
<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>";
$query=mysql_query("select * from pilihan where kode=$solusi");
echo "Tumbuhan memiliki taksonomi sebagai berikut: <br><br>";
echo "Kingdom: Plantae<br>";
} else {
echo "tumbuhan tidak termasuk dalam sub divisi gymnospermae"; <td> </td> <td> </td> </tr>
<tr>
<td height="98"> </td> <td> </td>
<td> </td> <td> </td> </tr>
<tr>
<td height="24"> </td> <td> </td>
<td align="center" valign="top" bgcolor="#003300" div> <form method=post
<input name="back" type="submit" id="back" value="kembali ke menu utama">
</form></td> <td> </td> </tr>
<tr>
<td height="80"> </td> <td> </td>
<td> </td> <td> </td> </tr>