Sistem Pakar Diagnosa Penyakit Tanaman Padi

  • View
    239

  • Download
    3

Embed Size (px)

Text of Sistem Pakar Diagnosa Penyakit Tanaman Padi

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    1/48

    LAPORAN PENELITIAN

    PENGANTAR INTELEGENSI BUATAN

    Sistem Pakar Diagnosa Penyakit Tanaman Padi

    Disusun oleh :

    Yayat Sutaryat (12.14.1.0132)

    Vieka Devita(12.14.1.0127)

    Susri Hartini (12.14.1.0118)

    Tryo Mastryana (12.14.1.0125)

    Robi Sukmana (12.14.1.0109)

    TEKNIK INFORMATIKA III D

    UNIVERSITAS MAJALENGKA

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    2/48

    Laporan Sistem Pakar i

    KATA PENGANTAR

    Segala puji bagi Allah SWT yang telah memberikan nikmat serta hidayah-Nya

    terutama nikmat kesempatan dan kesehatan sehingga penulis dapat menyelesaikan laporan

    mata kuliah Pengantar Intelegensi Buatan. Kemudian shalawat beserta salam kita

    sampaikan kepada Nabi besar kita Muhammad SAW yang telah memberikan pedoman hidup

    yakni al-quran dan sunnah untuk keselamatan umat di dunia.

    Laporan ini merupakan salah satu tugas mata kuliah Pengantar Intelegensi Buatan

    diprogram Studi Teknik Informatika III D, Fakultas teknik di Universitas Majalengka.

    Selanjutnya penulis mengucapkan terima kasih yang sebesar-besarnya kepada Bapak Tri

    Verga selaku dosen pembimbing mata kuliah Pengantar Intelegensi Buatan dan kepada

    segenap pihak yang telah memberikan bimbingan serta arahan selama penulisan laporan ini.

    Akhirnya penulis menyadari bahwa terdapat banyak kekurangan - kekurangan dalam

    penulisan laporan ini, maka dari itu penulis mengharapkan kritik dan saran yang konstruktif

    dari para pembaca demi kesempurnaan laporan ini.

    Majalengka, 19 Februari 2014

    Penulis

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    3/48

    Laporan Sistem Pakar ii

    DAFTAR ISI

    KATA PENGANTAR ....................................................................................................... i

    DAFTAR ISI...................................................................................................................... ii

    BAB I Pendahuluan

    1.1. Latar Belakang ...................................................................................................... 1

    1.2. Rumusan Masalah ................................................................................................. 1

    1.3. Batasan Masalah ................................................................................................... 1

    1.4. Tujuan Penelitian .................................................................................................. 2

    BAB II Kajian Teori

    2.1. Forward dan Backward Chaining ......................................................................... 32.2. Metode Penelitian ................................................................................................. 4

    BAB III Hasil dan Pembahasan

    3.1. Hasil Implementasi ............................................................................................... 6

    BAB IV Program Pakar Tanaman Padi

    4.1. Abstrak Pembuatan Program Pakar Tanaman Padi .............................................. 9

    4.2. Perancangan .......................................................................................................... 9

    4.2.1. Pembuatan Database ................................................................................... 9

    4.2.2. Pembuatan Halaman Program Untuk Penelusuran ..................................... 12

    4.2.3. Membuat Halaman Program Untuk pakar .................................................. 23

    4.2.4. Pembuatan Login dan Menu Utama Untuk Pakar ...................................... 36

    4.3. Tampilan/Desain yang Sudah dibuat .................................................................... 38

    BAB V Penutup

    Kesimpulan .................................................................................................................. 45

    Saran ............................................................................................................................ 45

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    4/48

    Laporan Pengantar Intelegensi Buatan 1

    BAB I

    PENDAHULUAN

    1.1. Latar Belakang

    Pertanian mempunyai arti yang penting bagi kehidupan manusia, selama manusia

    hidup, selama itu juga pertanian tetap akan ada. Hal itu disebabkan karena makanan

    merupakan kebutuhan manusia paling pokok selain udara dan air. Makanan merupakan

    hasil dari pertanian yang mana setiap tahun kebutuhan akan makanan semakin meningkat

    karena populasi manusia terus bertambah. Secara khusus beras merupakan hasil dari

    tanaman padi yang digunakan sebagai makanan pokok manusia.

    Hal yang sering terjadi, banyak kerugian yang diakibatkan karena adanya penyakit

    tanaman yang terlambat untuk didiagnosis dan sudah mencapai tahap yang parah dan

    menyebabkan terjadinya gagal panen. Sebenarnya setiap penyakit tanaman tersebut

    sebelum mencapai tahap yang lebih parah dan meluas umumnya menunjukkan gejala-

    gejala penyakit yang diderita tetapi masih dalam tahap yang ringan dan masih sedikit.

    Tetapi petani sering mengabaikan hal ini karena ketidaktahuannya dan menganggap

    gejala tersebut sudah biasa terjadi pada masa tanam, sampai suatu saat timbul gejala yang

    sangat parah dan meluas, sehingga sudah terlambat untuk dikendalikan. Ahli pertanian

    dalam hal ini mempunyai kemampuan untuk menganalisa gejala-gejala penyakit tanaman

    tersebut, tetapi untuk mengatasi semua persoalan yang dihadapi petani terkendala oleh

    waktu dan banyaknya petani yang mempunyai masalah dengan tanamannya.

    Oleh karena itu, pada penelitian ini akan dibuat suatu aplikasi sistem pakar yang

    memberikan informasi mengenai hama penyakit tanaman dan dapat mendiagnosa gejala

    gejala penyakit tanaman, khususnya tanaman padi, sekaligus memberikan solusi

    penanggulangannya, yang nantinya dapat digunakan untuk mengurangi atau memperkecil

    resiko kerusakan tanaman.

    1.2.Rumusan Masalah

    Mengidentifikasi penyakit tanaman padi.

    Mengidentifikasi gejala-gejala penyakit tanaman padi.

    1.3.Batasan Masalah

    Menganalisis jenis penyakit tungro dan kerdil rumput.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    5/48

    Laporan Pengantar Intelegensi Buatan 2

    1.4. Tujuan Penelitian

    Dapat mengetahui jenis penyakit tanaman padi.

    Dapat mengidentifikasi gejala apa saja yang dapat menyebabkan penyakit

    tanaman padi.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    6/48

    Laporan Pengantar Intelegensi Buatan 3

    BAB II

    KAJIAN TEORI

    2.1.Forward Dan Backward Chaining

    Sistem pakar adalah sistem yang menggunakan pengetahuan manusia yang

    terekam dalam komputer untuk memecahkan persoalan yang biasanya memerlukan

    keahlian manusia. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu

    permasalahan tertentu dengan meniru kerja dari para ahli. Sistem pakar dapat ditampilkan

    dalam dua lingkungan, yaitu: pengembangan dan konsultasi. Lingkungan pengembangan

    digunakan oleh pembangun sistem pakar untuk membangun komponen dan memasukkan

    pengetahuan ke dalam basis pengetahuan. Lingkungan konsultasi digunakan oleh orang

    yang bukan ahli untuk memperoleh pengetahuan dan berkonsultasi.

    Komponen-komponen yang ada pada sistem pakar dapat dilihat, yaitu :

    1. Basis pengetahuan (Knowledge base). Berisi pengetahuan-pengetahuan yang

    dibutuhkan untuk memahami, memformulasikan dan memecahkan persoalan.

    2. Motor inferensi (inference engine). Ada 2 cara yang dapat dikerjakan dalam

    melakukan inferensi, yaitu:

    a)

    Forward chaining merupakan grup dari multiple inferensi yang melakukan

    pencarian dari suatu masalah kepada solusinya. Forward chaining adalah data-

    driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi

    diperoleh.

    b) Backward chaining menggunakan pendekatan goal-driven, dimulai dari

    ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mencari bukti yang

    mendukung (atau kontradiktif) dari ekspektasi tersebut.

    3.

    Blackboard. Merupakan area kerja memori yang disimpan sebagai database untuk

    deskripsi persoalan terbaru yang ditetapkan oleh data input dan digunakan juga untuk

    perekaman hipotesis dan keputusan sementara.

    4. Subsistem akuisisi pengetahuan. Akuisisi pengetahuan adalah akumulasi, transfer dan

    transformasi keahlian pemecahan masalah dari pakar atau sumber pengetahuan

    terdokumentasi ke program komputer untuk membangun atau memperluas basis

    pengetahuan.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    7/48

    Laporan Pengantar Intelegensi Buatan 4

    5. Antarmuka pengguna. Digunakan untuk media komunikasi antara user dan program.

    6. Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan

    tentang kelakuan sistem pakar secara interaktif melalui pertanyaan.

    7. Sistem penyaring pengetahuan.

    Gambar 1. Struktur sistem pakar

    2.2.Metode Penelitian

    Diagram Alir Data (DAD) merupakan suatu model logika data atau proses yang

    dibuat untuk menggambarkan dari mana asal data, ke mana tujuan data yang keluar dari

    sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut, interaksi antara

    data yang tersimpan dan proses yang dikenakan pada data tersebut. Sehingga dengan DAD

    ini bisa diketahui dimana data disimpan dan bagaimana transformasi datanya.

    Metode penelusuran diperlukan untuk menarik simpulan dari data-data yang telah di

    isikan oleh user. Metode yang digunakan adalah forward chaining dan backward chaining.

    Metode forward chaining adalah metode dimana penelusuran di mulai dari mengambil fakta-

    fakta terlebih dahulu baru kemudian digunakan untuk menarik simpulan.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    8/48

    Laporan Pengantar Intelegensi Buatan 5

    Sebaliknya metode backward chaining adalah metode yang dimulai dari suatu

    simpulan untuk mencari fakta fakta pendukung. Dalam hal ini gejala digunakan sebagai

    fakta, setelah semua data gejala terpenuhi dapat digunakan untuk menarik simpulan mengenai

    suatu penyakit. Adapun basis pengetahuan yang digunakan adalah penalaran berbasis aturan

    (Rule-Based Reasoning) sebagaimana ditujukkan pada tabel berikut :

    No Aturan

    1 IF Tanaman kerdil AND Anakan berkurang/sedikit AND Daun Menguning sampai

    jingga dari pucuk sampai ke pangkal AND Daun muda terlihat seperti mottle AND

    Daun tua seperti bintik-bintik coklat bekas ditusuk THEN Tungro.

    2 IF Tanaman kerdil AND Bercak-bercak berwarna coklat AND Anakan bertambah

    banyak AND Daun pendek dan sempit AND Daun berwarna hijau pucat/kekuning-

    kuningan AND Bercak menyerang daun AND Anakan tumbuh tegak THEN Kerdil

    rumput.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    9/48

    Laporan Pengantar Intelegensi Buatan 6

    BAB III

    HASIL DAN PEMBAHASAN

    3.1. Hasil Implementasi

    Hasil implementasi sistem pakar diagnosa penyakit tanaman padi dengan metode

    inferensi forward chaining dan backward chaining dapat mempermudah untuk diakses dan

    digunakan oleh siapa saja (khususnya petani) dan dimana saja (asalkan tersedia jaringan

    internet).

    Sistem yang dibangun ini dianalisa agar penerapan teori ke dalam praktik program

    dapat sejalan. Sehingga jika dicek baik secara manual dengan programnya menghasilkan

    diagnosa dan penghitungan prosentase kemungkinan jenis penyakit yang tidak jauh beda.

    Sistem pakar untuk mendiagnosa jenis penyakit pada tanaman padi ini memberikan solusi

    berupa hasil diagnosa dan prosentase kemungkinan jenis penyakit dengan metode forward

    chaining maupun info penyakit dengan metode backward chaining.

    1. Analisa Hasil Konsultasi

    Diambil contoh pada proses konsultasi, memilih gejala diantara gejala-gejala yang

    ditampilkan sebagai input:

    a) Gejala yang terpilih: anakan tumbuh tegak dan daun menguning sampai jingga dari

    pucuk ke pangkal

    b) Langkah diagnosa:

    1) Mencari jenis penyakit yang memiliki gejala terpilih sesuai basis pengetahuan.

    2)

    Mencari jumlah gejala yang terpenuhi oleh gejala terpilih pada basis

    pengetahuan.

    3)

    Mencari jumlah gejala yang harus terpenuhi pada basis pengetahuan.

    4) Melakukan perhitungan prosen kemungkinan hasil diagnosa.

    5)

    Melakukan perhitungan prosentase kemungkinan hasil diagnosa terhadap

    keseluruhan kemungkinan terdiagnosa.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    10/48

    Laporan Pengantar Intelegensi Buatan 7

    c) Penyelesaian:

    1) Mencari jenis penyakit yang memiliki gejala terpilih pada basis pengetahuan,

    sebagaimana ditunjukkan pada Tabel 1.

    2) Diagnosa awal seperti ditunjukkan pada Tabel 2.

    3) Hasil diagnosis seperti ditunjukkan pada Tabel 3.

    Tabel 1. Aturan Konsultasi

    Nama Penyakit Gejala

    Tungro

    Tanaman kerdil

    Anakan berkurang/sedikit

    Daun menguning sampai jingga dari pucuk ke pangkal

    Daun muda terlihat seperti mottle

    Daun tua seperti bintik-bintik coklat bekas ditusuk

    Kerdil Rumput

    Tanaman kerdil

    Bercak-bercak berwarna coklat

    Anakan bertambah banyak

    Daun pendek dan sempit

    Daun berwarna hijau pucat/kekuning-kuningan

    Bercak menyerang daun

    Anakan tumbuh tegak

    Tabel 2. Tabel Hasil Diagnosa Awal

    Nama Penyakit Jumlah gejala yangharus terpenuhi

    Jumlah gejalaterpenuhi

    Prosen (%)

    Tungro 5 1 20

    Kerdil Rumput 7 1 14,29

    Jumlah prosentase 34,29

    Keterangan:

    Prosen = (Jumlah gejala terpenuhi / Jumlah gejala harus terpenuhi) x 100%

    Prosen = Besarnya prosentase kemungkinan penyakit berdasarkan gejala yang terpenuhi

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    11/48

    Laporan Pengantar Intelegensi Buatan 8

    Tabel 3. Tabel Hasil Diagnosa

    Kode Penyakit Prosentase kemungkinan dari keseluruhan (%)

    Tungro (20/34,29)*100% = 58,33

    Kerdil Rumput (14,29/34,29)*100% = 41,67

    Keterangan:

    Prosentase = (prosen / jumlah prosen) x 100%

    Prosentase = Besarnya prosentase kemungkinan penyakit berdasarkan keseluruhan

    kemungkinan penyakit.

    2. Analisa Hasil Info Penyakit

    Diambil contoh pada proses info penyakit, memilih jenis penyakit sebagai input:

    a) Penyakit yang dipilih: Tungro

    b) Langkah diagnosa:

    1) Mencari gejala dari jenis penyakit terpilih dari aturan gejala yang ada.

    2) Mencari keterangan detail tentang penyakit terpilih

    c. Penyelesaian:

    1) Mencari gejala dari jenis penyakit terpilih dari aturan gejala yang ada pada

    Tabel 5.

    Tabel 5. Aturan Info Penyakit

    Nama Penyakit Gejala

    Tungro

    Tanaman kerdil

    Anakan berkurang/sedikit

    Daun menguning sampai jingga dari pucuk ke pangkal

    Daun muda terlihat seperti mottle

    Daun tua seperti bintik-bintik coklat bekas ditusuk

    Pada penelitian ini menerapkan 2 metode inferensi forward chaining dan backward

    chaining sehingga memudahkan proses diagnosa penyakit padi. Proses diagnosa dapat berupa

    konsultasi yang dimulai dari menanyakan gejala-gejala pada tanaman padi, dan yang kedua

    proses diagnosa dapat dengan memilih daftar penyakit sehingga akan memunculkan infomasi

    tentang penyebab dan langkah-langkah penanganan penyakit tersebut.

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    12/48

    Laporan Pengantar Intelegensi Buatan 9

    BAB IV

    PROGRAM PAKAR TANAMAN PADI

    4.1. Abstrak Pembuatan Program Pakar Tanaman Padi

    Tanaman padi dapat diserang berbagai macam penyakit, penyakit tersebut dapat

    diketahui dari gejala-gejala yang ditimbulkannya, akan tetapi untuk mengetahui secara tepat

    jenis penyakit yang menyerang padi tersebut, memerlukan seorang pakar/ahli pertanian.

    Sedangkan jumlah pakar pertanian terbatas dan tidak dapat mengatasi permasalahan petani

    dalam waktu yang bersamaan, sehingga diperlukan suatu sistem yang mempunyai

    kemampuan seperti seorang pakar, yang mana didalam sistem ini berisi pengetahuan keahlianseorang pakar pertanian mengenai penyakit dan gejala tanaman padi.

    Pada penelitian ini dirancang sistem pakar berbasis web menggunakan basis aturan

    (rule based reasoning) dengan metode inferensi forward chaining dan backward chaining

    yang dimaksudkan untuk membantu petani dalam mendiagnosa penyakit tanaman padi.

    Sistem pakar diagnosa penyakit tanaman padi berbasis web yang telah dikembangkan

    mempunyai keunggulan dalam kemudahan akses dan kemudahan pemakaian. Dengan fitur

    yang berbasis web yang dimiliki, sistem pakar untuk diagnosa penyakit tanaman padi yang

    telah dibangun dapat digunakan sebagai alat bantu untuk diagnosa penyakit tanaman padi dan

    dapat diakses oleh petani dimanapun juga untuk mengatasi persoalan keterbatasan jumlah

    pakar pertanian dalam membantu petani mendiagnosa penyakit tanaman padi.

    4.2. Perancangan

    4.2.1 Pembuatan Database

    Nama Database : pakartanamanpadi;

    Tabel 4.1 Penyakit

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    13/48

    Laporan Pengantar Intelegensi Buatan 10

    Tabel 4.2 Gejala

    Tabel 4.3 Relasi

    Tabel 4.4 Hasil Analisa

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    14/48

    Laporan Pengantar Intelegensi Buatan 11

    Tabel 4.5 Temp Penyakit

    Tabel 4.6 Temp Gejala

    Tabel 4.7 Temp Analisa

    Tabel 4.8 Temp Pasien

    Tabel 4.9 Hasil relasi tabel untuk sistem pakar

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    15/48

    Laporan Pengantar Intelegensi Buatan 12

    4.2.2 Pembuatan Halaman Program Untuk Penelusuran

    Script untuk koneksi ke Database

    Script Kode Auto Membuat Program Index

    SISTEM PAKAR TANAMAN PADI < /title>

    Selamat Datang !! Semoga Apa yang

    Kami Buat Bisa Membantu Anda

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    16/48

    Laporan Pengantar Intelegensi Buatan 13

    MENU

    + Daftar Penyakit

    + Konsultasi

    + Pertolongan

    + Masuk Pakar

    Membuat Header

    Header

    < img src="../image/header.gif">< /td>


  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    17/48

    Laporan Pengantar Intelegensi Buatan 14

    Membuat Footer

    footer

    Copy Right @ Majalengka, Indonesia


    Dikembangkan oleh Kelompok 5


    Yayat S, Tryo M, Vieka D P, Susri H, Robi S.


    < b> Teknik Informatika III D


    Script Untuk Membuka Program

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    18/48

    Laporan Pengantar Intelegensi Buatan 15

    else {

    echo "FILE PROGRAM FORM KONSULTASI TIDAK ADA";

    }

    }

    elseif ($page = = "konsulcek") {

    if (file_exists ("konsultasiperiksa.php") ) {

    include "konsultasiperiksa.php";

    }else {

    echo "FILE PROGRAM KONSULTASI PERIKSA TIDAK ADA";

    }

    }

    // Saat penulurusan penyakit didapatkan

    elseif ($page == "hasil") {

    if (file_exists ("ana lisahasil.php") ) {

    include "analisahasil.php";

    }

    else {

    echo "FILE PROGRAM ANALISA HASIL TIDAK ADA";

    }

    }

    // Saat kita mengklik menu pertolonganelseif ($page == "tolong") {

    if (file_exists ("Penjelasan.php") ) {

    include "Penjelasan.php";

    }

    else {

    echo "FILE PROGRAM PERTOLONGAN TIDAK ADA";

    }

    }

    ?>

    Membuat Program Pendaftaran

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    19/48

    Laporan Pengantar Intelegensi Buatan 16

    //SQL simpan data pasien

    $sql = "insert into tmppasien (nama, sex, alamat, pekerjaan, noip, tanggal)

    values ('$txtnama', '$rbsex', '$txtalamat', '$txtpekerjaan', '$NoIp', NOW() )";

    mysql_query($sql, $koneksi)

    or die ("SQL Error 2".mysql_error() );

    //SQL hapus data tempora ri penyakit

    $sqlhapus="DELETE F ROM tmppenyakit WHERE noip='$NoIp'";

    mysql_query($sqlhapus, $koneksi)or die ("SQL Error 1".mysql_error() );

    //SQL hapus data tempora ri ana lisa

    $sqlhapus2="DELETE FROM tmpanalisa WHERE noip='$NoIp'";

    mysql_query($sqlhapus2, $koneksi)

    or die ("SQL Error 2".mysql_error() );

    //SQL hapus data tempora ri gejala

    $sqlhapus3="DELETE FROM tmpgejala WHERE noip='$NoIp'";

    mysql_query($sqlhapus3, $koneksi)

    or die ("SQL Error 3".mysql_error() );

    //perintah untuk redireksi

    echo "< meta http-equiv=' refresh' content='0; url=index.php?page=konsul'>";

    }

    ?>

    Script untuk menyimpan hasil pendaftaran

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    20/48

    Laporan Pengantar Intelegensi Buatan 17

    //SQL hapus data tempora ri ana lisa

    $sqlhapus2="DELETE FROM tmpanalisa WHERE noip='$NoIp'";

    mysql_query($sqlhapus2, $koneksi)

    or die ("SQL Error 2".mysql_error() );

    //SQL hapus data tempora ri gejala

    $sqlhapus3="DELETE FROM tmpgejala WHERE noip='$NoIp'";

    mysql_query($sqlhapus3, $koneksi)

    or die ("SQL Error 3".mysql_error() );

    //perintah untuk redireksi

    echo "";

    }

    ?>

    Membuat Program Penelusuran

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    21/48

    Laporan Pengantar Intelegensi Buatan 18

    $qryg = mysql_query ($sqlg, $koneksi);

    $datag = mysql_fetch_array ($qryg);

    $KodeGejala = $datag['KodeGejala'];

    $gejala = $datag['NamaGejala'];

    }

    else

    {//seandainya tmp kosong

    //ambil data gejala dari tabel gejala

    $sqlg = "SELECT * FROM gejala ORDER BYKodeGejala LIMIT 1";

    $qryg = mysql_query($sqlg, $koneksi);

    $datag = mysql_fetch_array($qryg);

    $KodeGejala = $datag['KodeGejala'];

    $gejala = $datag['NamaGejala'];

    }

    ?>

    From Masukan data Pasien

    JAWABLAH PERTANYAAN BERIKUT : < /b>

    Apakah Padi Anda Mengalami ?

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    22/48

    Laporan Pengantar Intelegensi Buatan 19

    $qry_sakit = mysql_query($sql_sakit);

    while ($data_sakit = mysql_fetch_array($qry_sakit))

    {

    //Data yang didapatkan dari query di atas

    //Dimasukan ke dalam tmpanalisa

    $sqltmp = "INSERT INTO tmpanalisa (NoIp, KodePenyakit, KodeGejala)

    VALUES ('$Ip', '$data_sakit[KodePenyakit]', '$data_sakit[KodeGejala]')";

    mysql_query($sqltmp);}

    }

    #Fungsi untuk menambah tmp gejala

    function addtmpgejala($KodeGejala, $Ip)

    {

    $sql_gejala = "INSERT INTO tmpgejala (NoIp,KodeGejala) VALUES ('$Ip','$KodeGejala')";

    mysql_query($sql_gejala);

    }

    #Fungsi untuk mengosongkan tabel tmp penyakit

    function deltmpsakit($Ip)

    {

    $sql_del = "DELETE FROM tmppenyakit WHERE NoIp='$Ip'";

    mysql_query($sql_del);

    }#Fungsi untuk mengosongkan ta bel tmp analisa

    function deltmpanalisa ($Ip)

    {

    $sql_del = "DELETE FROM tmpanalisa WHERE NoIp='$Ip'";

    mysql_query($sql_del);

    }

    ## pemeriksaan jawaban penelusuran 1

    ## Apabila pilih jawaban YA/Benar

    if ($rbpilih = = "YA")

    {

    //Periksa Apakah data ada di tmp anal isa

    $sql_analisa = "SELECT * FROM tmpanalisa";

    $qry_analisa = mysql_query($sql_analisa , $koneksi);

    $data_cek = mysql_num_rows($qry_analisa);if ($data_cek >= 1)

    {

    #perintah apabila tmp analisa tidak kosong

    //kosongkan dulu daftar penyakit

    deltmpsakit($NoIp);

    //sql untuk mengambil data tmpanalisa

    //yang kode gejalanya dipilih oleh pasien

    $sql_tmp = "SELECT * FROM tmpanalisa WHERE KodeGejala='$txtKodeGejala'

    AND NoIp='$NoIp'";

    $qry_tmp = mysql_query($sql_tmp, $koneksi);

    while ($data_tmp = mysql_fetch_array($qry_tmp))

    {

    //sql untuk ambil data r elasi yang//kode penyakit ada di dalam tbl tmpanalisa

    $sql_rsakit = "SELECT * FROM relasi WHERE KodePenyakit='$data_tmp[KodePenyakit]'

    GROUP BYKodePenyakit";

    $qry_rsakit = mysql_query($sql_rsakit);

    while ($data_rsakit = mysql_fetch_array($qry_rsakit))

    {

    //hasil query di atas dipindahkan ke

    //tabel tmp penyakit

    //jadi hanya penyakit yang mungkin

    $sql_input = "INSERT INTO tmppenyakit (NoIp,KodePenyakit

    VALUES ('$NoIp','$data_rsakit[KodePenyakit]')";

    mysql_query($sql_input, $koneksi);

    }

    }

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    23/48

    Laporan Pengantar Intelegensi Buatan 20

    //memanggil fungsi

    deltmpanalisa($NoIp);

    //fungsi mengisi data tmp analisa

    addtmpanalisa($txtKodeGejala, $NoIp);

    addtmpgejala($txtKodeGejala, $NoIp);

    }

    else{

    #perintah apabila tmpanalisa masih kosong

    //sql untuk mengambil data relasi

    //yang KodeGejalanya dipilih oleh pasien

    $sql_rgejala = "SELECT * FROM relasi WHERE KodeGejala='txtKodeGejala'";

    $qry_rgejala = mysql_query($sql_rgejala);

    while ($data_rgejala = mysql_fetch_array($qry_rgejala))

    {

    //ambil data r elasi yang kode penyakit

    //sesuai dengan query sebelumnya(relasi)

    $sql_rsakit = "SELECT * FROM relasi WHERE

    KodePenyakit='$data_rgejala[KodePenyakit]' GROUP BYKodePenyakit";

    $qry_rsakit = mysql_query($sql_rsakit);

    while ($data_rsakit = mysql_fetch_array($qry_rsakit)){

    //hasil query di simpan dala m tabel

    //tmp penyakit

    $sql_input = "INSERT INTO tmppenyakit (NoIp,KodePenyakit) VALUES

    ('$NoIp','$data_rsakit[KodePenyakit]')";

    mysql_query($sql_input, $koneksi);

    }

    }

    //fungsi menambah data ke tmp analisa

    addtmpanalisa($txtKodeGejala, $NoIp);

    //fungsi menambah data ke tmp gejala

    addtmpgejala($txtKodeGejala, $NoIp);

    }//redireksi

    echo "";

    }

    ## Pemeriksaan jawaban penelusuran 2

    ## Apabila memilih tombol tidak

    if ($rbpilih == "TIDAK")

    {

    //ambil semua data dar i tmp analisa

    $sql_analisa = "SELECT * FROM tmpanalisa";

    $qry_analisa = mysql_query($sql_analisa , $koneksi);

    $data_cek = mysql_num_rows($qry_analisa);

    if ($dat_cek >= 1)

    {#apabila data tmp analisa tidak kosong

    #hapus tmpanalisa yang tidak sesuai

    //apabila data KodePenyakit yang dipilih

    //dari tabel tmpanalisa, syarat yang gejalanya

    //telah dipilih

    $sql_relasi = "SELECT * FROM tmpanalisa WHERE KodeGejala= '$txtKodeGejala'";

    $qry_relasi = mysql_query($sql_relasi, $koneksi);

    while ($hsl_relasi = mysql_fetch_array($qry_relasi))

    {

    //perintah hapus tmp analisa dar i

    //data kode penyakit yang didapat

    $sql_deltmp = "DELETE FROM tmpanalisa WHERE

    KodePenyakit='$hsl_relasi[KodePenyakit]' AND NoIp='$NoIp'";mysql_query($sql_deltmp, $koneksi);

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    24/48

    Laporan Pengantar Intelegensi Buatan 21

    //hapus juga daftar penyakit dari

    //tabel tmppenyakit

    //syarat ikuti sql di atas

    $sql_deltmp2 = "DELETE FROM tmppenyakit WHERE

    KodePenyakit='$hsl_relasi[KodePenyakit]' AND NoIp='$NoIp'";

    mysql_query($sql_deltmp2, $koneksi);

    }

    }else

    {

    #apabila data tmp analisa kosong

    #pindahkan data relasi ke tmpanalisa

    //ambil daftar da ta dulu dar i relasi

    $sql_relasi= "SELECT * FROM relasi ORDER BYKodePenyakit,KodeGejala";

    $qry_relasi= mysql_query($sql_relasi, $koneksi);

    while ($hsl_relasi=mysql_fetch_array($qry_relasi))

    {

    //perintah sql untuk memindah data ke

    //tmpanalisa

    $sql_intmp = "INSERT INTO tmpanalisa (NoIp,KodePenyakit,KodeGejala)

    VALUES ('$NoIp','$hsl_relasi[KodePenyakit]','$hsl_relasi[KodeGejala]')";mysql_query ($sql_intmp, $koneksi);

    //masukan juga info penyakit ke tabel tmp

    $sql_intmp2 = "INSERT INTO tmppenyakit (NoIp,KodePenyakit) VALUES

    ('$NoIp','$hsl_relasi[KodePenyakit]')";

    mysql_query ($sql_intmp2, $koneksi);

    }

    #Hapus tmpanalisa yang tidak sesuai

    $sql_relasi2 = "SELECT * FROM relasi WHERE KodeGejala= '$txtKodeGejala'";

    $qry_relasi2 = mysql_query($sql_relasi2);

    while($hsl_relasi2=mysql_fetch_array($qry_relasi2))

    {

    //perintah hapus tmpanalisa

    $sql_deltmp = "DELETE FROM tmpanalisa WHERE

    KodePenyakit='$hsl_relasi2[KodePenyakit]' AND NoIp='$NoIp'";mysql_query($sql_deltmp, $koneksi);

    //perintah ha pus data tmp penyakit

    $sql_deltmp2 = "DELETE FROM tmppenyakit WHERE

    KodePenyakit='$hsl_relasi2[KodePenyakit]' AND NoIp='$NoIp'";

    mysql_query($sql_deltmp2, $koneksi);

    }

    }

    //redireksi

    echo "";

    }

    ?>

    Membuat Program Halaman Hasil

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    25/48

    Laporan Pengantar Intelegensi Buatan 22

    {

    $sex = "PRIA";

    }

    else

    {

    $sex = "WANITA";

    }

    ?>

    Hasil Analisa Pasien

    Hasil Analisa Penyakit Tanaman Padi< /b>< /td>

    DATA PASIEN :< /b>< /td>

    Nama

    Sex

    Alamat

    Pekerjaan

    < ?php echo $data['Pekerjaan']; ?>

    Hasil Analisa Terakhir

    Penyakit

    Nama Ilmiah

    Gejala

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    26/48

    Laporan Pengantar Intelegensi Buatan 23

    Keterangan

    Solusi

    4.2.3 Membuat Halaman Program Untuk Pakar

    Membuat Program Tambah Gejala

    Masukan Data Gejala

    < table width="400" border="0" cellspacing="1" cellpadding="2" bgcolor="#22b5dd">

    Masukan Gejala Penyakit

    Kode

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    27/48

    Laporan Pengantar Intelegensi Buatan 24

    include "gejalaaddfm.php";

    }

    elseif (trim($txtgejala)=="")

    {

    echo "Gejala masih kosong, ulangi kembali";

    include "gejalaaddfm.php";

    }

    else{

    $sql = "INSERT INTO gejala (KodeGejala,NamaGejala)";

    $sql.= "VALUES ('$txtkodeH','$txtgejala')" ;

    mysql_query ($sql,$koneksi) or die ("SQL ERROR".mysql_error());

    $pesan="Data Berhasil Disimpan";

    header("location:gejalaaddfm.php?pesan=$pesan");

    }

    ?>

    Membuat Program Untuk Menampilkan Semua Gejala

    Tampilan Data Gejala

    < table width="450" border= "0" cellpadding="2" cellspacing="1" bgcolor= "#DBEAF5">

    < b>DAFTAR SEMUA GEJALA< /td>

    No

    Nama Gejala

    Pilihan

    < ?php echo $no; ?>

    < ?php echo $data['NamaGejala']; ?>

    < a href="gejalaeditfm.php?kdubah = "

    target="_self">Ubah

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    28/48

    Laporan Pengantar Intelegensi Buatan 25

    Program untuk menghapus gejala

    Merubah Data Gejala

    < table width="400" border= "0" cellspacing="4" cellpadding="0" cellspacing="1" bgcolor="#77B6D0">

    Merubah Gejala Penyakit

    Kode

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    29/48

    Laporan Pengantar Intelegensi Buatan 26

    Script untuk menyimpan hasil gejala yang sudah dirubah

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    30/48

    Laporan Pengantar Intelegensi Buatan 27

    Solusi

    Script untuk menyimpan hasil penambahan Penyakit

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    31/48

    Laporan Pengantar Intelegensi Buatan 28

    Membuat Program Untuk Menampilkan Semua Penyakit

    Tampilan Data Penyakit

    < table width="500" border= "0" cellpadding="2" cellspacing="1" bgcolor= "#DBEAF5">

    DAFTAR SEMUA PENYAKIT< /td>

    No

    Nama Penyakit

    Nama Ilmiah

    Pilihan

    < ?php echo $no; ?>

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    32/48

    Laporan Pengantar Intelegensi Buatan 29

    echo "DATA PENYAKIT BELUM DIPILIH";

    }

    ?>

    Program untuk mengubah Penyakit

    Merubah Data Penyakit

    < table width="450" border= "0" cellpadding="2" cellspacing="1" bgcolor= "#77b6d0">

    MERUBAH DATA PENYAKIT

    Kode

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    33/48

    Laporan Pengantar Intelegensi Buatan 30

    Script untuk menyimpan hasil penyakit yang sudah dirubah

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    34/48

    Laporan Pengantar Intelegensi Buatan 31

    Halaman Buat Relasi Gejala Penyakit

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    35/48

    Laporan Pengantar Intelegensi Buatan 32

    }

    else

    {

    $cek = "";

    $bg = "#ffffff";

    }

    ?>

    Script untuk menyimpan penambahan relasi yang dipilih

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    36/48

    Laporan Pengantar Intelegensi Buatan 33

    mysql_query($sqldel);

    }

    }

    }

    #untuk data gejala tambahan

    for ($i = 0; $i < $jum; + +$i)

    {

    //perintah untuk mendapat r elasi$sqlr = "SELECT * FROM relasi";

    $sqlr .= "WHERE KodePenyakit='$txtkodeH'";

    $sqlr .= "AND KodeGejala= '$cekgejala[$i]'";

    $qryr = mysql_query($sqlr, $koneksi);

    $cocok = mysql_num_rows($qryr);

    //gejala yg baru akan disimpan

    if (! $cocok==1)

    {

    $sql = "INSERT INTO rela si(KodePenyakit,KodeGejala)";

    $sql .= "VALUES ('$txtkodeH','$cekgejala[ $i]')" ;

    mysql_query ($sql, $koneksi) or die ("SQL INPUT RELASI GAGAL".mysql_error());

    }

    }

    //pesan sebagai konfirmasi$pesan = "SUKSES DISIMPAN";

    header("Location: relasiaddpilih.php?kdsakit=$txtkodeH&info=$pesan");

    }

    }

    ?>

    Program laporan menampilkan semua penyakit

    Tampilan Data Penyakit

    < table width="817" border= "0" cellpadding="2" cellspacing="1" bgcolor= "#22B5DD">

    DAFTAR SEMUA PENYAKIT

    Kode

    < ?php echo $data['KodePenyakit']; ?>< /td>

    Nama Indonesia< /td>

    Nama Ilmiah

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    37/48

    Laporan Pengantar Intelegensi Buatan 34

    Definisi

    Solusi

    Program laporan menampilkan gejala per penyakit

    Langkah 1:

    Halaman Buat Relasi Gejala Penyakit

    < table width="400" border="0" cellpadding="2" cellspacing="1" bgcolor= "#99FFFF">

    Tampilkan Gejala Per Penyakit

    < b>Penyakit : < /b>

    [ DAFTAR PENYAKIT ]< /option>

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    38/48

    Laporan Pengantar Intelegensi Buatan 35

    Langkah 2:

    Tampilan Data Gejala< /title>

    Nama Penyakit : < /b>

    Daftar Gejala< /td>

    No

    Kode

    < b>Nama Gejala< /b>< /td>

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    39/48

    Laporan Pengantar Intelegensi Buatan 36

    while ($datag = mysql_fetch_array($qryg))

    {

    $no++;

    ?>

    4.2.4 Membuat Login Dan Menu Utama Pakar

    Membuat Program Login

    Form Login Pakar< /title>

    LOGIN PAKAR

    Username

    :

    Password

    :

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    40/48

    Laporan Pengantar Intelegensi Buatan 37

    Script untuk memeriksa proses login

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    41/48

    Laporan Pengantar Intelegensi Buatan 38

    Membuat Menu

    Menu


    [ Input Penyakit

    / Input Gejala

    / Input Relasi< /a> ]

    [ Ubah Penyakit

    / Ubah Gejala< /a> ]

    [ Lap Penyakit

    / Lap Gejala

    / Logout ]

    Program Index

    PAKAR TANAMAN PADI v 1.0< /title>

    4.3. Tampilan/Design Yang Sudah Dibuat

    Halaman Utama

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    42/48

    Laporan Pengantar Intelegensi Buatan 39

    Halaman Daftar Penyakit

    Halaman Daftar Semua Gejala

    Halaman Konsultasi

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    43/48

    Laporan Pengantar Intelegensi Buatan 40

    Halaman Konsultasi 2 (pertanyaan)

    Saat klik menu Pertolongan

    Saat klik Masuk Pakar

    Halaman Login

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    44/48

    Laporan Pengantar Intelegensi Buatan 41

    Halaman Setelah berhasil login (Menu Utama untuk Pakar)

    Halaman input penyakit

    Halaman input gejala

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    45/48

    Laporan Pengantar Intelegensi Buatan 42

    Halaman input relasi

    Halaman daftar semua gejala

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    46/48

    Laporan Pengantar Intelegensi Buatan 43

    Ubah gejala

    Halaman Daftar semua penyakit

    Ubah penyakit

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    47/48

    Laporan Pengantar Intelegensi Buatan 44

    Laporan gejala

    Laporan penyakit

  • 7/24/2019 Sistem Pakar Diagnosa Penyakit Tanaman Padi

    48/48

    BAB V

    PENUTUP

    Kesimpulan

    Sistem pakar untuk mendiagnosa jenis penyakit pada tanaman padi dapat membantu

    petani mendiagnosa jenis penyakit dan memberikan pengetahuan tentang jenis penyakit

    tersebut. Sistem ini dibangun untuk menyimpan pengetahuan keahlian seorang pakar

    pertanian khususnya tanaman padi, sehingga sistem dapat dijadikan asisten pandai di

    bidangnya sebagai sumber pengetahuan oleh user. Pembangunan sistem dirancang

    sedemikian rupa sehingga dapat mengadopsi perkembangan penyakit penalaran yangdigunakan berbasis aturan (Rule-Based Reasoning) dengan metode inferensi forward

    chaining dan backward chaining. Implementasi sistem pakar dalam bentuk web sangat

    membantu memberikan kemudahan bagi user dalam mengaksesnya.

    Saran

    Laporan ini masih jauh dari sempurna. Penulis harapkan kritikan dan sarannya agar

    dalam pembuatan suatu laporan bisa lebih baik lagi.