sistem pakar

106
PROYEK AKHIR PEMBANGUNAN SISTEM PAKAR PADA PERANGKAT MOBILE DENGAN WML DAN PHP UNTUK PENYAKIT PARU PADA ANAK DEASY ASTRID NATALIA NRP. 7403.030.037 Dosen Pembimbing: TITA KARLITA,S.KOM NIP. 132 300 680 ENTIN MARTIANA K,S.KOM NIP. 132 282 692 JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2006

Upload: universitas-sutomo

Post on 03-Dec-2014

5.029 views

Category:

Travel


10 download

DESCRIPTION

 

TRANSCRIPT

Page 1: sistem pakar

PROYEK AKHIR

PEMBANGUNAN SISTEM PAKAR PADA PERANGKAT MOBILE DENGAN WML DAN PHP

UNTUK PENYAKIT PARU PADA ANAK

DEASY ASTRID NATALIA NRP. 7403.030.037

Dosen Pembimbing: TITA KARLITA,S.KOM

NIP. 132 300 680

ENTIN MARTIANA K,S.KOM NIP. 132 282 692

JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

SURABAYA 2006

Page 2: sistem pakar

PROYEK AKHIR

PEMBANGUNAN SISTEM PAKAR PADA PERANGKAT MOBILE DENGAN WML DAN PHP

UNTUK PENYAKIT PARU PADA ANAK

DEASY ASTRID NATALIA NRP. 7403.030.037

Dosen Pembimbing: TITA KARLITA,S.KOM

NIP. 132 300 680

ENTIN MARTIANA K,S.KOM NIP. 132 282 692

JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

SURABAYA 2006

Page 3: sistem pakar

PEMBANGUNAN SISTEM PAKAR PADA PERANGKAT MOBILE DENGAN WML DAN PHP

UNTUK PENYAKIT PARU PADA ANAK

Oleh : Deasy Astrid Natalia

7403.030.037

Diajukan Sebagai Salah Satu Syarat untuk menyelesaikan Studi pada Program Pendidikan Diploma III

di Politeknik Elektronika Negeri Surabaya-ITS

Disetujui oleh :

Tim Penguji Proyek Akhir : Dosen Pembimbing :

1. Dosen Pembimbing I

Tita Karlita,S.Kom NIP: 132 300 680

1. Dosen Penguji I

Arna Fariza,S.Kom,M.Kom NIP : 132 233 198

2. Dosen Pembimbing II

Entin Martiana K,S.Kom NIP : 132 282 692

2. Dosen Penguji II

Afrida Helen, ST, M.Kom NIP : 132 170 593

3. Dosen Penguji III

Tessy Badriyah, S.Kom,MT NIP : 132 297 020

Mengetahui, Ketua Jurusan Teknologi Informasi

Iwan Syarif, S.Kom, M.Kom NIP: 132 134 725

Page 4: sistem pakar

i

ABSTRAK

Pada saat ini penggunaan teknologi perangkat mobile telah

berkembang pesat dan memasyarakat. Sebagian besar masyarakat menggunakannya tidak hanya untuk kepentingan berkomunikasi saja, tetapi juga untuk mendapatkan informasi secara cepat dan efisien dengan aplikasi berorientasi internet melalui teknologi WAP.

Perkembangan teknologi Kecerdasan Buatan yang terjadi telah memungkinkan Sistem Pakar untuk diaplikasikan penggunaannya dalam perangkat mobile dengan WML dan PHP. Salah satunya dalam pemberian informasi mengenai berbagai masalah kesehatan, terutama masalah kesehatan paru anak. Metode sistem pakar yang digunakan adalah forward dan backward chaining dengan pembuatan tree dari data-data penunjang.

Dengan fasilitas yang diberikan untuk user dan administrator, memungkinkan baik user maupun administrator untuk menggunakan sistem ini sesuai kebutuhannya masing-masing. User diberi kemudahan dalam mengetahui informasi berbagai jenis penyakit paru anak dengan gejala-gejala klinisnya, informasi rumah sakit paru di beberapa daerah serta konsultasi layaknya dengan seorang dokter paru anak melalui beberapa pertanyaan yang harus dijawab user untuk mengetahui hasil diagnosanya. Sedangkan administrator dimudahkan dalam memanajemen sistem, baik proses tambah, hapus maupun update data terbaru.

Tugas akhir ini diharapkan mampu memberikan informasi segala hal yang berhubungan dengan masalah kesehatan paru anak secara cepat dan efisien secara timbal baik antara user dan sistem tetapi tetap optimal meski dalam small device.

Kata kunci : perangkat mobile, sistem pakar, forward dan backward chaining, WAP.

Page 5: sistem pakar

ii

ABSTRACT

The fast growing of device technology, making the possibility

of accessing internet using mobile device easily. Most people not only use it for communicating, but also for getting information by WAP technology.

The growing of Artificial Intelligence making the possibility of using an Expert System to be applicated into mobile device using WML and PHP. As example for giving information about medical problem, especially in children lunge disease. Forward and backward chaining by making a tree is an expert system method that used in this final project.

Facility that has given to user and administrator, is possible for each user use this system in different needs. User can be able to know all information about kinds of children lunge disease and its symptoms, location of lunge hospital in several area, and consultation like a medical check with the doctor by answering the questions to know what is the diagnose. Otherwise, administrator can be able to manage the system, not only adding data, deleting but also updating the newest data. We expect that this final project can give all information related to children lunge disease easily and efficiently, but still optimal even in a small device. Keywords : mobile device, expert systems, forward and backward chaining, WAP.

Page 6: sistem pakar

iii

KATA PENGANTAR

Puji dan syukur kami ucapkan ke hadirat Tuhan YME , yang

telah memberikan rahmat dan berkat-Nya kepada kami sehingga dapat menyelesaikan Proyek Akhir ini tepat pada waktunya.

Adapun judul Proyek Akhir ini adalah :

PEMBANGUNAN SISTEM PAKAR PADA PERANGKAT MOBILE DENGAN WML DAN PHP UNTUK PENYAKIT PARU PADA ANAK Proyek Akhir ini dibuat sebagai persyaratan kelulusan pada

program studi di Politeknik Elektronika Negeri Surabaya jurusan Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Surabaya.

Kami menyadari sepenuhnya bahwa pembuatan Proyek Akhir ini

masih jauh dari kesempurnaan, dikarenakan keterbatasan ilmu pengetahuan yang kami miliki. Oleh sebab itu kami berharap adanya saran dan kritik yang membangun sehingga dapat memperbaiki dan membenahi kekurangan-kekurangan yang ada.

Akhir kata, semoga buku proyek akhir ini dapat memberi manfaat serta dapat digunakan sebagai salah satu referensi untuk pengembangan Proyek Akhir di kemudian hari dan dapat menjadi nilai tambah khususnya bagi penyusun dan umumnya bagi pembaca.

Surabaya, Agustus 2006

Penyusun

Page 7: sistem pakar

iv

UCAPAN TERIMA KASIH

Syukur ke hadirat Tuhan YME atas segala nikmat yang telah dilimpahkan. Kami menyadari bahwa terwujudnya proyek akhir ini tidak lepas dari bantuan, bimbingan doa serta dukungan dari berbagai pihak.

Dengan segala kerendahan hati, keikhlasan dan ketulusan, kami ingin menyampaikan rasa terima kasih dan penghargaan yang sebesar-besarnya kepada :

1. My Lord, Jesu Christe, for giving me a beautiful life and beautiful

world. Thanks for blessing, be with you I shall never fall. 2. Kedua Orang tua tercinta yang membesarkan kami dengan penuh

kasih sayang, perjuangan dan pengorbanan serta doa yang selalu ditujukan demi kesuksesan ananda.

3. Kakak-kakakku yang cerewet tapi baik, makasih untuk segala ’sindirannya’, jadi motivator yang bagus buat bangkit.

4. Bapak Dr. Ir. Titon Dutono, M.Eng, selaku Direktur Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember.

5. Bu Tita Karlita, S.Kom dan Bu Entin Martiana K,S.Kom selaku dosen pembimbing yang telah meluangkan waktu untuk memberikan bimbingan, pengarahan, dorongan serta semangat sehingga kami dapat menyelesaikan Proyek Akhir ini.

6. Bapak Sritusta Sukaridhoto yang telah membantu proses peng-upload-an proyek akhir ini, maaf Pak banyak merepotkan.

7. Alfante Syafa’at, the one who always giving me his trust for throughing these all. No words can say how much I thank to you, your patience, advice, love and understand will always be the greatest part in my live. I dedicated this for you just to fulfill my promise, and you can see now, I did it.“Ich werden dich immer Lieben, ich sehr verlangen. ”

8. My sisters, ‘Animal Kingdoms’ family, you are the greatest, I love you all. Wish you all the best.

9. Si papi, Ujang Fajar, yg selalu anterin aq pulang kalo kemaleman di kampus, pinjemin komputernya, nemenin beli roti ‘goyeng’, makan soto, ngehibur aq pas sedih or seneng, dan smuanya. Good luck for you bro’,I know u can do it. Thanks for everything, you are more than just my friend, my brother.

Page 8: sistem pakar

v

10. Si Dodol, Doni, makasih ya uda jadi ’partner’ selama 3 tahun ini, bahkan bantuin benerin program ampe jam 2 pagi di lab TA. Wish u all the best bro’, you are so talented, it’s a blessing.

11. 79’s crew terutama penghuni lantai 3, baik bidadari (Nia, Pu3, Vbri, Ira, Silvie, Qq, Sophie ’pinguku’, Nupi) maupun bidadaranya (Koko, Aa’ yang jenius, Agung, Candra ’Parat’, Pras ’Bapet’, Arief ’Cak Ri’, Mboko, terutama Mas Yoga yang uda mau minjemin HP-nya tuk TAku), thanx ya uda ijinin aq, ‘penyelundup ilegal’, ngerasain susah n seneng bareng hadapin TA, kasih sayang kalian, smuanya yang gak bakal aq lupain seumur hidup. You are the best guys!

12. Para bidadari dan bidadara IT-B’03 lainnya, IT-A’03, D4 IT’03 lainnya, makasih banyak atas dukungan, semangat, dan persahabatan yang terjalin selama ini, semoga berakhirnya perkuliahan ini, bukan berarti berakhir pula persahabatan kita. Keep in contact yach, wherever and whenever you are!

13. Semua dosen, karyawan, mahasiswa-mahasiswi PENS-ITS ataupun semua pihak yang tidak dapat penyusun sebutkan satu-persatu, terima kasih atas segala bantuan, dukungan dan doanya.

Penyusun menyadari bahwa “tak ada gading yang tak retak”,

demikian juga dalam penyusunan buku proyek akhir ini, namun demikian penyusun berharap semoga buku ini dapat memberikan manfaat bagi kita semua.

Surabaya, Agustus 2006

Penyusun

Page 9: sistem pakar

vi

DAFTAR ISI ABSTRAK....................................................................................... KATA PENGANTAR..................................................................... UCAPAN TERIMA KASIH........................................................... DAFTAR ISI................................................................................... DAFTAR GAMBAR...................................................................... DAFTAR TABEL........................................................................... BAB I PENDAHULUAN 1.1 Latar Belakang......................................................................... 1.2 Permasalahan........................................................................... 1.3 Batasan Masalah...................................................................... 1.4 Tujuan Proyek Akhir................................................................ 1.5 Metode Proyek Akhir............................................................... 1.6 Sistematika Pembahasan.......................................................... BAB II DASAR TEORI 2.1 Kecerdasan Buatan.................................................................... 2.2 Sistem Pakar.............................................................................. 2.2.1 Ciri-ciri Sistem Pakar...................................................... 2.2.2 Keuntungan Sistem Pakar............................................... 2.2.3 Kelemahan Sistem Pakar................................................. 2.2.2 Alasan Pengembangan Sistem Pakar............................... 2.2.3 Modul Penyusun Sistem Pakar........................................ 2.2.4 Struktur Sistem Pakar...................................................... 2.2.5 Teknik Representasi Pengetahuan................................... 2.2.6 Inferencing dengan Rule : Forward dan Backward

Chaining............................................................................ 2.3 Wireless Application Protocol (WAP)...................................... 2.3.1 Apa itu WAP?.................................................................. 2.3.2 Mengembangkan Aplikasi WAP..................................... 2.3.2.1 Pengembangan Aplikasi WAP dengan PHP.......... 2.3.2.2 Interaksi PHP dengan MySQL BAB III PERANCANGAN DAN PEMBUATAN

PERANGKAT LUNAK 3.1 Rancangan Umum……………………………………………. 3.2 Uraian Perancangan Sistem...................................................... 3.2.1 Perancangan Data.............................................................

i iii iv

vi viii

xi

1 2

2 2 3 4

6 6 7 7 8 8 8 9

10

11 11 12 12 16 18

19 20 20

Page 10: sistem pakar

vii

3.2.1.1 Data-Data Penyakit dan Gejala Klinisnya.............. 3.2.1.2 Penyusunan Basis Data........................................... 3.2.1.2.1 Pembuatan Tabel..................................... 3.2.1.2.2 Pembuatan Relasi Antar Tabel................ 3.2.2 Perancangan Proses........................................................ 3.2.2.1 Diagram Alir Sistem............................................. 3.2.2.2 Fungsi-fungsi yang Digunakan dalam Sistem....... 3.2.3 Perancangan AntarMuka................................................ 3.2.3.1 Pembuatan Tree..................................................... 3.2.3.2 Struktur Data yang digunakan............................... 3.2.3.3 Blok Arsitektur Sistem.......................................... 3.2.3.3 Desain Homepage.................................................. 3.2.3.4 Implementasi Sistem.............................................. BAB IV PENGUJIAN DAN ANALISA 4.1 Pengujian Umum ...................................................................... 4.2 Pengujian Sistem....................................................................... 4.2.1 Pengujian Sistem User..................................................... 4.2.1.1 Pengujian Proses Forward..................................... 4.2.1.2 Pengujian Proses Backward.................................. 4.2.2 Pengujian Sistem Admin................................................. 4.2.2.1 Tambah Data……………………………………. 4.2.2.2 Hapus Data............................................................ 4.2.2.3 Update Data.......................................................... 4.3 Analisa Program....................................................................... BAB V PENUTUP 5.1 Simpulan................................................................................... 5.2 Saran......................................................................................... DAFTAR PUSTAKA LAMPIRAN BIODATA PENYUSUN

24 25 28 29 29 36 39 39 41 41 42 43

45 45 47 49 51 53 55 60 63 68

71 71

Page 11: sistem pakar

viii

DAFTAR GAMBAR Gambar 2.1 Gambar 2.2 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 3.9 Gambar 3.10 Gambar 3.11 Gambar 3.12 Gambar 3.13 Gambar 3.14 Gambar 3.15 Gambar 3.16 Gambar 3.17 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Gambar 4.15 Gambar 4.16 Gambar 4.17 Gambar 4.18

Diagram network pada WAP.................................. Proses komunikasi browser nirkabel dengan nirkabel...................................................................... Struktur tabel penyakit.............................................. Struktur tabel gejala.................................................. Struktur tabel gejala_penyakit.................................. Struktur tabel pertanyaan......................................... Relationship antar tabel............................................ Diagram alir sistem user........................................... Diagram alir manajemen sistem............................... Diagram alir mode edit tambah data........................ Diagram alir mode edit hapus data.......................... Diagram alir mode edit update data......................... Tampilan proses sistem pakar.................................. Blok Arsitekstur Sistem........................................... Desain Homepage Sistem......................................... Halaman Utama........................................................ Halaman Login......................................................... Menu Utama User.................................................... Menu Utama Admin................................................. Tampilan halaman utama pada emulator WAP........ Tampilan pesan error pada command prompt.......... Tampilan halaman utama pada perangkat mobile.... Tampilan halaman utama lanjutan pada perangkat mobile....................................................................... Halaman login.......................................................... Menu Utama User Umum......................................... Halaman utama menu Lokasi Rumah Sakit Paru..... Pilihan daerah Lokasi Rumah Sakit Paru................. Informasi Lokasi Rumah Sakit Paru........................ Halaman Utama menu Konsultasi Penyakit............ Tampilan pertanyaan 1 Konsultasi Penyakit............ Menu jawaban pertanyaan....................................... Tampilan pertanyaan 2 Konsultasi Penyakit........... Hasil kesimpulan diagnosa penyakit....................... Halaman Utama menu Macam Penyakit................. Tampilan pilihan Macam Penyakit.......................... Tampilan pilihan Macam Penyakit lanjutan............. Hasil informasi gejala dari suatu penyakit................

13

16 25 25 26 27 28 30 32 33 34 35 39 41 43 43 44 44 44 46 46 46

47 47 48 48 48 49 49 50 50 50 51 51 52 52 52

Page 12: sistem pakar

ix

Gambar 4.19 Gambar 4.20 Gambar 4.21 Gambar 4.22 Gambar 4.23 Gambar 4.24 Gambar 4.25 Gambar 4.26 Gambar 4.27 Gambar 4.28 Gambar 4.29 Gambar 4.30 Gambar 4.31 Gambar 4.32 Gambar 4.33 Gambar 4.34 Gambar 4.35 Gambar 4.36 Gambar 4.37 Gambar 4.38 Gambar 4.39 Gambar 4.40 Gambar 4.41 Gambar 4.42 Gambar 4.43 Gambar 4.44 Gambar 4.45 Gambar 4.46 Gambar 4.47 Gambar 4.48 Gambar 4.49 Gambar 4.50 Gambar 4.51 Gambar 4.52 Gambar 4.53 Gambar 4.54

Menu jawaban why dalam pilihan jawaban.............. Hasil informasi akses menu why.............................. Halaman login admin............................................... Tampilan halaman login admin................................ Tampilan pesan jika password salah........................ Tampilan pesan jika password benar....................... Pilihan proses edit admin......................................... Pilihan proses tambah data....................................... Pilihan tambah gejala pada penyakit tertentu........... Pilihan tambah gejala pada penyakit tertentu lanjutan...................................................................... Informasi data gejala sebelum ditambahkan............. ID gejala baru............................................................ Nama gejala baru...................................................... Urutan pertanyaan gejala baru.................................. Informasi sistem jika berhasil ditambahkan............. Gejala penyakit baru berhasil ditambahkan............. Informasi ID dan jenis penyakit yang ada................ ID dan nama penyakit yang ditambahkan................ Tampilan pesan sistem jika proses tambah berhasil Halaman hasil proses tambah penyakit.................... Proses pemberian ID dan nama gejala pada penyakit baru............................................................ Tampilan pesan sistem jika proses insert berhasil.... Halaman hasil penambahan gejala penyakit baru..... Pilihan proses delete data.......................................... Informasi semua gejala beserta IDnya...................... Menuliskan ID gejala yang akan dihapus................. Halaman hasil delete gejala....................................... Informasi semua jenis penyakit paru anak serta IDnya......................................................................... Menuliskan ID penyakit yang akan dihapus............. Tampilan pesan jika proses delete data berhasil....... Pilihan proses update data......................................... Pilihan proses update data......................................... Informasi semua ID dan gejala yang ada.................. Informasi semua ID dan gejala sebelum ditambahkan.............................................................. ID gejala yang dipilih............................................... Nama gejala sebelum di-edit....................................

53 53 53 54 54 54 54 55 56

56 56 57 57 57 57 58 59 59 59 59

60 60 60 61 61 62 62

63 63 63 64 64 65

65 65 65

Page 13: sistem pakar

x

Gambar 4.55 Gambar 4.56 Gambar 4.57 Gambar 4.58 Gambar 4.59 Gambar 4.60 Gambar 4.61 Gambar 4.62 Gambar 4.63

Nama gejala yang baru............................................. Pesan yang ditampilkan jika berhasil update............ Halaman hasil update gejala..................................... Informasi semua nama penyakit beserta IDnya........ ID penyakit yang akan di-edit................................... Nama penyakit sebelum di-edit................................. Nama penyakit yang di-edit...................................... Tampilan pesan jika proses update berhasil.............. Halaman hasil proses update nama penyakit............

66 66 66 67 67 67 68 68 68

Page 14: sistem pakar

xi

DAFTAR TABEL Tabel 1. Tabel penyakit ………………………………………….. Tabel 2. Tabel gejala_penyakit....................................................... Tabel 3. Tabel penyakit…………………………………………... Tabel 4. Tabel pertanyaan………………………………………...

25 26 27 28

Page 15: sistem pakar

1

BAB I

PENDAHULUAN 1.1 LATAR BELAKANG

Dengan adanya kemajuan teknologi yang semakin pesat, berpengaruh pula pada perkembangan perangkat mobile saat ini, sehingga penggunaan perangkat mobile semakin memasyarakat. Perkembangan ini sangatlah membantu dalam menyajikan informasi yang cepat dan efisien dengan pengaksesan internet melalui perangkat mobile tersebut. Meski perangkat mobile merupakan small device dengan layar penyajian yang sangat terbatas, tetapi penyajian informasinya pun tidak kalah optimal layaknya informasi yang diakses dari personal computer, tergantung bagaimana cara penyajiannya. Seiring perkembangan teknologi, dikembangkan pula suatu teknologi yang mampu mengadopsi proses dan cara berpikir manusia yaitu teknologi Artificial Intelligence atau Kecerdasan Buatan. Sistem Pakar adalah salah satu bagian dari Kecerdasan Buatan yang mengandung pengetahuan dan pengalaman yang dimasukkan oleh satu atau banyak pakar ke dalam satu area pengetahuan tertentu sehingga setiap orang dapat menggunakannya untuk memecahkan berbagai masalah yang bersifat spesifik, dalam hal ini adalah permasalahan kesehatan paru anak. Kesehatan anak adalah dambaan setiap orang tua dalam setiap keluarga, terlebih mengingat usia anak-anak yang rentan terhadap penyakit merupakan ketakutan tersendiri bagi orang tua. Ketakutan ini bukanlah tanpa alasan, karena terkadang kesibukan orang tua menyebabkan keterlambatan penanganan kesehatan anak sehingga banyak penderita paru berusia anak-anak berjatuhan bahkan meninggal dunia. Kebutuhan informasi yang cepat dan tepat dari seorang pakar kesehatan anak sangatlah dibutuhkan. Hal inilah yang mendorong pembangunan sebuah sistem pakar kesehatan paru anak untuk diwujudkan. Penyampaian informasi pun dilakukan menggunakan perangkat mobile dengan meminta request dari user. Request tersebut akan diproses dalam sistem, kemudian hasilnya akan dikirim lagi ke user dengan ditampilkan pada layar perangkat mobile. Diharapkan sistem ini

Page 16: sistem pakar

2

mampu memberikan informasi yang optimal dengan timbal balik dari user dan sistem. 1.2 PERMASALAHAN Permasalahan yang timbul dari pembuatan proyek akhir ini adalah :

• Bagaimana cara membuat sistem pakar menggunakan tree dari data-data penyakit paru pada anak.

• Bagaimana cara memanage sistem (mengedit, menghapus ataupun menambahkan data) di dalam sistem pakar.

• Bagaimana cara menyajikan informasi tersebut secara optimal dan cocok untuk ditampilkan ke dalam small device.

1.3. BATASAN MASALAH Batasan-batasan maslah yang digunakan dalam proyek akhir ini adalah :

• Data-data penunjang penyakit paru yang digunakan hanya pada usia anak-anak saja.

• Perangkat mobile yang digunakan adalah handphone ataupun PDA phone.

• Pembangunan sistem pakar menggunakan tree dengan metode inferensi forward dan backward chaining dari data-data penunjang.

• Penyimpanan data-data penunjang menggunakan database MySQL.

• Interaksi antara program dan user menggunakan pertanyaan yang diberikan melalui proses dialog yang memerlukan jawaban ya atau tidak dari user.

• Bahasa pemrograman yang digunakan menggunakan WML dan PHP.

1.4 TUJUAN PROYEK AKHIR Proyek akhir ini bertujuan untuk membangun sebuah sistem berbasis pengetahuan kedokteran dalam mendiagnosa penyakit paru pada anak yang dapat ditampilkan dalam perangkat mobile, sehingga alasan efisiensi waktu dan kurangnya pengetahuan masyarakat akan kesehatan anak dapat teratasi.

Page 17: sistem pakar

3

1.5 METODE PROYEK AKHIR Dalam pembuatan proyek akhir ini meliputi langkah-langkah sebagai berikut :

• Studi literatur. Dilakukan studi literatur atau tinjauan pustaka tentang konsep dan teori dasar sistem pakar serta pengembangan program WAP.

• Pengumpulan data. Melakukan proses pencarian data-data penunjang mengenai gejala klinis jenis-jenis penyakit paru anak yang diperoleh dari survei dan studi pustaka ilmu kesehatan anak.

• Perencanaan sistem. Perencanaan pembuatan sistem meliputi perencanaan sistem pakar dalam perancangan tree serta menyusun rule-rule dan konklusi.

• Penyusunan basis data. Data-data penunjang yang didapatkan berupa suatu kesimpulan, fakta-fakta dan aturan yang mengatur proses pencarian data yang saling berhubungan satu sama lain disimpan ke dalam basis data MySQL sebagai media penyimpanan.

• Pembuatan program komputer yang meliputi pembuatan antar muka dan mesin inferensi. Pembuatan program dilakukan menggunakan pemrograman

WAP dengan WML dan PHP sebagai aplikasi dalam menampilkan sistem pakar tersebut ke dalam perangkat mobile.

• Uji coba sistem. Pengujian sistem yang telah dibuat dengan menggunakan emulator WAP ataupun perangkat mobile secara langsung.

• Perbaikan/penambahan data. Setelah sistem diuji coba dan terjadi beberapa kekurangan/kelemahan, maka perlu diperbaiki atau diedit lagi data-data yang ada sehingga sistem yang dibuat lebih bersifat valid lagi hasilnya.

• Analisa.

Page 18: sistem pakar

4

Dari pengujian sistem dan perbaikan/penambahan data dibuat analisa sistemnya apakah bekerja seperti yang direncanakan.

• Simpulan. Dibuat kesimpulan dari pengujian sistem proyek akhir dengan membandingkan apakah hasilnya seperti yang diharapkan pada tujuan proyek akhir sebelumnya.

1.6 SISTEMATIKA PEMBAHASAN Sistematika pembahasan yang akan diuraikan dalam buku laporan proyek akhir ini terbagi dalam beberapa bab yang akan dibahas sebagai berikut : BAB I : Pendahuluan.

Bab ini menjelaskan secara umum mengenai latar belakang masalah, permasalahan dengan batasan-batasan masalah ang digunakan, tujuan, metode serta sistematika pembahasan proyek akhir ini.

BAB II : Teori Penunjang.

Bab ini berisi dasar-dasar teoritis kecerdasan buatan dan sistem pakar untuk melandasi pemecahan masalah serta teori-teori sehubungan dengan Wireless Application Protocol (WAP) sebagai teknologi yang digunakan dalam pembuatan proyek akhir ini.

BAB III : Perancangan dan Pembuatan Perangkat Lunak. Bab ini membahas tentang perancangan umum maupun uraian lebih lanjut mengenai perancangan sistem dalam pembuatan perangkat lunak. Uraian perancangan sistem ini meliputi perancangan data mengenai data input dan output sistem, perancangan proses mengenai bagaimana sistem akan bekerja dengan proses-proses tertentu, maupun perancangan antar muka dalam desain dan implementasi yang akan digunakan dalam pembuatan proyek akhir ini.

BAB IV : Pengujian dan Analisa.

Bab ini menjelaskan tentang pengujian sistem secara umum maupun terperinci. Pengujian sistem secara umum akan membahas mengenai lingkungan uji coba untuk

Page 19: sistem pakar

5

menggunakan sistem ini. Selanjutnya secara lebih terperinci dijelaskan dalam pengujian sistem meliputi skenario pengujian baik user umum maupun admin, beserta langkah-langkah dalam uji coba sistem. Dari seluruh hasil uji coba tersebut, kemudian dianalisa kembali apakah telah sesuai dengan tujuan pembuatan pada bab I.

BAB V : Penutup

Bab ini berisi simpulan yang telah didapatkan dari hasil uji coba sistem dan analisanya mengenai keterkaitan dengan tujuan pembuatan sistem, dan selanjutnya akan dikemukakan saran-saran mengenai penggunaan sistem serta bahan masukan dari penulis bagi rencana pengembangan proyek akhir untuk masa yang akan datang.

Page 20: sistem pakar

6

BAB II

TEORI PENUNJANG

2.1 KECERDASAN BUATAN Kecerdasan Buatan adalah ide-ide untuk membuat suatu perangkat lunak komputer yang memiliki kecerdasan sehingga perangkat lunak komputer tersebut dapat melakukan suatu pekerjaan yang dilakukan oleh manusia. Adapun pekerjaan itu adalah berupa konsultasi yang dapat memberikan suatu informasi berupa saran-saran yang akan sangat berguna. Kecerdasan Buatan memungkinkan komputer untuk berpikir dengan cara menyederhanakan program. Dengan cara ini, Kecerdasan Buatan dapat menirukan proses belajar manusia sehingga informasi baru dapat diserap dan digunakan sebagai acuan di masa-masa mendatang. Kecerdasan atau kepandaian itu didapat berdasarkan pengetahuan dan pengalaman, untuk itu agar perangkat lunak yang dikembangkan dapat mempunyai kecerdasan maka perngakat lunak tersebut harus diberi suatu pengetahuan dan kemampuan untuk menalar dari pengetahuan yang telah didapat dalam menemukan solusi atau kesimpulan layaknya seorang pakar dalam bidang tertentu yang bersifat spesifik. Kecerdasan Buatan menawarkan media dan uji teori kecerdasan. Teori ini dapat dinyatakan dalam bahasa program komputer dan dibuktikan melalui eksekusinya pada komputer nyata. 2.2. SISTEM PAKAR Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas

Page 21: sistem pakar

7

para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan.

Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu. 2.2.1 Ciri-Ciri Sistem Pakar Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :

• Memiliki informasi yang handal. • Mudah dimodifikasi. • Dapat digunakan dalam berbagai jenis komputer. • Memiliki kemampuan untuk belajar beradaptasi.

2.2.2 Keuntungan Sistem Pakar Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.

2. Bisa melakukan proses secara berulang secara otomatis. 3. Menyimpan pengetahuan dan keahlian para pakar. 4. Meningkatkan output dan produktivitas. 5. Meningkatkan kualitas. 6. Mampu mengambil dan melestarikan keahlian para pakar

(terutama yang termasuk keahlian langka). 7. Mampu beroperasi dalam lingkungan yang berbahaya. 8. Memiliki kemampuan untuk mengakses pengetahuan. 9. Memiliki reabilitas. 10. Meningkatkan kapabilitas sistem komputer. 11. Memiliki kemampuan untuk bekerja dengan informasi yang

tidak lengkap dan mengandung ketidakpastian. 12. Sebagai media pelengkap dalam pelatihan. 13. Meningkatkan kapabilitas dalam penyelesaian masalah. 14. Menghemat waktu dalam pengambilan keputusan.

Page 22: sistem pakar

8

2.2.3 Kelemahan Sistem Pakar Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain :

1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.

2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.

3. Sistem Pakar tidak 100% bernilai benar. 2.2.4 Alasan Pengembangan Sistem Pakar Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :

• Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.

• Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.

• Seorang pakar akan pensiun atau pergi. • Seorang pakar adalah mahal. • Kepakaran dibutuhkan juga pada lingkungan yang tidak

bersahabat. 2.2.5 Modul Penyusun Sistem Pakar

Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu :

1. Modul Penerimaan Pengetahuan (Knowledge Acquisition

Mode) Sistem berada pada modul ini, pada saat ia menerima

pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.

2. Modul Konsultasi (Consultation Mode) Pada saat sistem berada pada posisi memberikan

jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user

Page 23: sistem pakar

9

berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.

3. Modul Penjelasan (Explanation Mode) Modul ini menjelaskan proses pengambilan keputusan

oleh sistem (bagaimana suatu keputusan dapat diperoleh).

2.2.6 Struktur Sistem Pakar

Komponen utama pada struktur sistem pakar menurut Hu et al (1987) meliputi:

1.Basis Pengetahuan (Knowledge Base)

Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui.

2. Mesin Inferensi (Inference Engine) Mesin inferensi berperan sebagai otak dari sistem

pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia.

Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua tehnik pengendalian tersebut.

3. Basis Data (Data Base)

Page 24: sistem pakar

10

Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.

4. Antarmuka Pemakai (User Interface) Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan komputer.

2.2.7 Teknik Representasi Pengetahuan

Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya.

Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu :

1. Rule-Based Knowledge

Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.

2. Frame-Based Knowledge Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.

3. Object-Based Knowledge Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).

4. Case-Base Reasoning Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).

Page 25: sistem pakar

11

2.2.8 Inferencing dengan Rule : Forward dan Backward Chaining Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.

a. Backward chaining • Menggunakan pendekatan goal-driven, dimulai dari

ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.

• Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.

b. Forward chaining • Forward chaining merupakan grup dari multiple inferensi

yang melakukan pencarian dari suatu maslah kepada solusinya.

• Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.

• Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.

• Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

2.3 WIRELESS APPLICATION PROTOCOL (WAP) Internet, sejak pertengahan tahun 1990-an hingga kini, telah mengubah cara kita berkomunikasi dan berinteraksi. Internet memungkinkan terjadinya pertukaran informasi secara cepat dalam lingkup yang global, yaitu dunia. Informasi kemudian menjadi wilayah publik, dapat diakses dari manapun. Perkembangan sistem komunikasi personal nirkabel (wireless) yang pesat telah membangkitkan gagasan-gagasan tentang akses internet dan informasi dari perangkat komunikasi personal nirkabel dengan tingkat mobilitas tinggi. Bagaimana bisa? Teknologi Wireless Aplication

Page 26: sistem pakar

12

Protocol (WAP) merupakan sinergi dari kombinasi internet dan dunia komunikasi nirkabel. 2.3.1 Apa itu WAP ?

Wireless Application Protocol (WAP) merupakan protokol bagi perangkat-perangkat nirkabel yang menyediakan layanan komunikasi data bagi pengguna, baik dalam bentuk yang berhubungan dengan telekomunikasi maupun aplikasi-aplikasi berorientasi internet.

Struktur WAP mengadopsi topologi layer-layer yang ada pada Internet Protocol (model TCP/IP). Ini terkait dengan tujuan dibuatnya WAP, yaitu memberikan akses internet bagi alat komunikasi mobile nirkabel.

Protokol mengatur bagaimana format paket data dan layanan-layanan terhadap paket data pada setiap layer, bagaimana suatu layer memberikan layanan kepada layer lain yang berada di atasnya. 2.3.2 Mengembangkan Aplikasi WAP Pengembangan aplikasi WAP dilakukan dalam suatu lingkungan kerja yang disebut Wireless Application Environment (WAE). Inti dari WAE ini terdiri dari Wireless Markup Language (WML) dan Wireless Markup Language Script (WMLScript). Untuk menjangkau dunia internet, sebuah ponsel dengan teknologi WAP harus berjalan via WAP Gateway. WAP Gateway ini bertindak sebagai perantara, menghubungkan jaringan mobile dan internet dengan menerjemahkan Hypertext TransferProtocol (HTTP) menjadi Wireless Session Protocol (WSP). Gambar di bawah ini menunjukkan skema sederhana hubungan antara web server, gateway dan ponsel dengan WAP.

Gambar 2.1 Diagram network pada WAP

Web Server

WML Binary WML

User Agent

WAP Gateway

Page 27: sistem pakar

13

Web server melayani permintaan dari user melalui ponsel untuk sebuah aplikasi WAP. Hubungan ini dilakukan melalui perantara WAP Gateway. Aplikasi dalam WAP dibentuk dalam format WML. Untuk menjalankan suatu aplikasi WAP, sama halnya dengan internet biasa. Kita tinggal mengetikkan URL yang dikehendaki, misalnya : http://mobileinternet.ericsson.com. Karena itu, untuk membuat aplikasi WAP yang kita butuhkan adalah sebuah web server untuk menangani permintaan user akan aplikasi WAP, misalnya Apache, Microsoft Internet Information Service (IIS), ataupun PWS (Personal Web Server). WML merupakan bahasa mark-up yang berbasis pada Extensible Markup Language (XML). WML adalah analogi dari HTML yang berjalan pada protokol nirkabel. Tag-tag pada WML mirip dengan tag-tag yang ada pada HTML . Data WML terstruktur dalam bentuk koleksi kartu atau card. Sebuah koleksi card disebut deck. Tiap deck tersusun dari isi yang terstruktur dan spesifikasi navigasi. Pengguna melakukan navigasi dalam susunan card, melihat isi tiap card, mengisi informasi yang dibutuhkan, membuat pilihan dan bernavigasi ke card selanjutnya atau kembali ke card sebelumnya. Dalam HTML, user interface ditampilkan dalam bentuk halaman-halaman hypertext. Navigasi dilakukan pengguna dalam card-card tersebut seperti halnya navigasi pada halaman-halaman HTML di mana dalam card pada suatu deck dapat memiliki hyperlink ke card yang lain. Jika WML merupakan analogi dari HTML pada media nirkabel, maka WMLScript merupakan analogi yang tepat dari JavaScript. WMLScript, seperti halnya JavaScript, berjalan pada sisi client (client side scripting). Bedanya, WMLScript tidak dpat ditempatkan menjadi satu dengan halaman WML yang menggunkan fungsi-fungsi dari WMLScript. Fungsi-fungsi WMLScript yang akan digunakan oleh halaman WML ditempatkan dalam file yang terpisah. Pemisahan ini memberikan suatu keuntungan, yaitu dalam fokus pembuatan aplikasi. Jika kita bekerja dengan halaman WML, maka kita hanya berfokus pada isi atau user interface halaman yang kita inginkan. Dengan WMLScript, kita berfokus pada pembuatan prosedur atau fungsi dari logika pemrograman. Aplikasi WML yang kita buat dapat diakses menggunakan browser ang disebut dengan user agent (UA). UA mendownload

Page 28: sistem pakar

14

halaman WML dan atau WMLScript yang dibutuhkan dan merender halaman tersebut. Hasil render halaman WML amat bergantung pada tipe perangkat yang digunakan. Dan tampilan yang diperoleh mungkin berbeda antara ponsel dengan kemampuan grafis yang baik dengan yang hanya mendukung modus teks.

a. Prolog WML

Statemen pertama dalam sebuah dokumen XML dalam sebuah dokumen WML disebut prolog. prolog ini adalah optional (tidak harus ada), dan mengandung dua baris kode:

• Deklarasi XML: digunakan untuk mendefinisikan versi XML • Deklarasi DTD: penunjuk ke file yang mengandung DTD

dokumen ini.

Contoh prolog adalah sebagai berikut:

<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

Setelah prolog, setiap dokumen XML mengandung sebuah elemen tunggal yang mengandung semua sub elemen dan entity yang lainnya. Seperti kalau di HTML, semua elemen dikurung oleh karakter <> dan </>. Misal :

<element>datadatadata</element>

Hanya boleh ada satu elemen dokumen per dokumen. Dengan WML, elemen dokumennya adalah <wml>; (seperti di html elemen dokumennya adalah <html>) semua elemen lainnya termasuk di dalamnya. Dua cara paling umum untuk menyimpan data dalam dokumen XML adalah dengan element dan attribute.

• Element adalah item-item berstruktur dalam dokumen tersebut yang ditandai dengan tag elemen pembuka dan penutup. Element juga dapat mengandung sub-element.

Page 29: sistem pakar

15

• Attribute biasanya digunakan untuk mendeskripsikan sebuah elemen.

Contoh, misalkan ada kode spt ini: <!-- Ini kartu login --> <card id="LoginCard" title="Login"> Silakan pilih nama user anda. </card>

Dalam kode di atas, element card mengandung attribute id dan title. (Catatan: komentar di WML mirip dengan HTML tetapi harus tampil dalam tag <!-- -->.

b. Element WML yang Valid

WML mendefinisikan sebelumnya sebuah kumpulan element yang dapat dikombinasikan bersama-sama untuk membuat sebuah dokumen WML. Pencantuman Elemen-elemen ini dapat dibagi menjadi dua kelompok: - Element Deck/Card; dan - Element Event.

• Element Deck/Card : wml, card, template, head, access, meta. • Element Event : do, ontimer, onenterforward,

onenterbackward, onpick, onevent, postfield. • Task : go, prev, refresh, noop. • Variabel : setvar • User input : input, select, option, optgroup, fieldset. • Anchor, Image, dan Timer : a, anchor, img, timer. • Text Formatting : br, p, table, tr, td.

Setiap elemen di atas dimasukkan ke dalam dokumen dengan sintaks seperti ini:

<element>nilai elemen itu</element>

Jika sebuah elemen tidak punya data di dalamnya (sebagaimana biasanya dalam kasus menformat elemen dengan <br> misalnya), kita dapat menghemat dengan hanya memasukkan satu tag yang ditambahi karakter / (misal: <br/>)

2.3.2.1 Pengembangan Aplikasi WAP dengan PHP

Page 30: sistem pakar

16

Untuk membuat aplikasi WAP menjadi lebih dinamis dan

interaktif, yang mampu memberikan dan menerima respon dari dan ke pengakses, kita dapat menggunakan bahasa-bahasa script yang berjalan pada sisi server (server side-scripting). Dalam proyek akhir ini kita akan menggunakan PHP ( PHP Hypertext Processor), bahasa script server-side yang tangguh, populer di internet dan gratis untuk memberi unsur dinamik dan interaktif pada aplikasi WAP.

Pada prinsipnya, komunikasi antara web server dengan perangkat WAP sesama dengan hubungan antara web server dengan browser berbasis PC, hanya saja dalam hal ini ada satu tahap tambahan. Tahap ekstra yang dibutuhkan adalah transfer informasi oleh WAP gateway. WAP gateway bertindak sebagai perantara antara browser nirkabel dengan server tempat informasi berada.

Gambar 2.2 Proses komunikasi browser nirkabel dengan web server

Yang berperan sebagai WAP gateway biasanya adalah perusahaan telekomunikasi yang menyediakan layanan telepon nirkabel atau telepon seluler. Misalkan kita telah membuat sebuah deck yang berisi dua buah card. Kemudian user dengan perangkat nirkabelnya melakukan permintaan atau request terhadap deck tersebut. Maka, urut-urutan event yang terjadi untuk permintaan user tersebut adalah sebagai berikut :

1. Request dikirimkan ke WAP gateway dengan protokol WAP. WAP gateway, di bawah “kendali” dari perangkat WAP,

WAP GATEWAY

WEB SERVER

MySQL DATABASE

PHP

Perangkat Mobile

WIRELESS NETWORK

MOBILE SERVICES PROVIDER INTERNET

Page 31: sistem pakar

17

melakukan request untuk URL tertentu dengan menggunakan protocol HTTP.

2. Request ditransmisikan via internet ke alamat IP dari perangkat WAP (alamat IP dari suatu perangkat WAP ditentukan oleh operator).

3. Request mencapai tujuan akhirnya, yaitu web server. Server membaca header dan memproses permintaan dokumen WAP. Kode program PHP yang terdapat dalam dokumen ini dikompilasi dan diformat sesuai dengan kebutuhan.

4. Dokumen atau deck WAP yang telah diproses ini dikirimkan kembali melalui WAP gateway. Pada gateway, isi dari deck dikompres menjadi data biner dan dikirimkan ke perangkat WAP.

Adalah mungkin (dan sangat mudah) untuk menambahkan unsur dinamik ke dalam WML dengan PHP. Pengembangan aplikasi WAP dengan PHP memungkinkan kita membuat aplikasi seperti database, mailserver, pengiriman pesan, dll. Supaya script PHP dapat didukung oleh perangkat WAP, script ini harus menghasilkan output header WML kepada client. Karena itu, setiap dokumen WML yang berisi kode PHP harus menyertakan baris-baris berikut yang ditempatkan pada awal deck :

<?php //mengirim header header(”Content-type:text/vnd.wap.wml”); echo(“<?xml version=\”1.0\”?>”); echo(”<!DOCTYPE wml PUBLIC \”-//WAPFORUM//DTD WML 1.1//EN\”\”http://www.wapforum.org/DTD/wml_1.1.xml”>”; ?>

Deklarasi ini diperlukan karena PHP secara default mengirim baris Content-type: text/html. 2.3.2.2 Interaksi PHP dengan MySQL

Komunikasi antara user dengan WAP browser dengan web server dapat menjadi lebih interaktif dengan penggunaan database. Dengan adanya PHP yang bekerja pada sisi server, komunikasi interaktif dapat dilakukan dengan antara user dengan server, baik Apache sebagai web server maupun database server MySQL. User yang mengakses

Page 32: sistem pakar

18

dapat memperoleh data atau informasi dari server dan server dapat menyimpan data yang dikirimkan user dalam database MySQL Database yang dipakai adalah MySQL dengan beberapa alasan, antara lain karena MySQL gratis dan mudah dipelajari. Dalam PHP terdapat banyak fungsi yang digunakan sebagai penghubung atau antarmuka dengan MySQL sehingga data dalam database dapat dilihat dari internet. Banyak situs di internet yang menggunakan PHP-MySQL dalam mengembangkan situsnya.

Page 33: sistem pakar

19

BAB III

PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK

3.1 RANCANGAN UMUM Prosedur perancangan sistem secara umum untuk pembangunan sistem pakar pada perangkat mobile dengan WML dan PHP untuk penyakit paru pada anak ini terdiri atas beberapa tahap, antara lain meliputi perancangan :

1. Data Perancangan data yang dimaksudkan adalah perancangan data-data yang berkaitan dengan pembuatan perangkat lunak, meliputi :

• Data input Termasuk di dalamnya data-data penunjang sebagai inputan pembuatan sistem.

• Data output Dari data input di atas, bagaimana sistem akan menggunakannya hingga didapatkan data baru sebagai output sistem.

2. Proses Perancangan proses yang dimaksudkan adalah bagaimana sistem akan bekerja, proses-proses apa yang digunakan, mulai dari masuknya data input yang kemudian diproses oleh sistem hingga menjadi data output.

3. Antarmuka Perancangan antarmuka disini mengandung penjelasan tentang penggunaan tree dan keterangannya serta struktur data yang kita gunakan dalam sistem yang kita buat.

3.2 URAIAN PERANCANGAN SISTEM Perancangan sistem ini terdiri atas beberapa tahap yang akan diuraikan pada sub bab di bawah ini.

Page 34: sistem pakar

20

3.2.1 Perancangan Data

Dalam perancangan data, akan dijelaskan bagaimana data-data yang terdapat dalam sistem sesuai dengan fungsinya sebagai data input ataupun data output sistem.

3.2.1.1 Data-Data Penyakit dan Gejala Klinisnya

1. Bronkitis Gejala klinis : • batuk kering • batuk berdahak setelah 2-3 hari • suara ada lendir • dahak kental dan kuning • sesak napas • mengeluh rasa sakit retrostenal • mengi

2. Asma Episodik Jarang Gejala klinis : • sesak napas • mengi selama 3-4 hari • batuk selama 10-14 hari • produksi lendir berlebihan • terdapat pada usia 3-6 tahun • serangan 3-4x setahun • gejala timbul di malam hari

3. Asma Episodik Sering Gejala klinis : • sesak napas • mengi • batuk • produksi lendir berlebihan • gejala timbul di malam hari • terjadi pada umur < 3 tahun, dan 8-13 tahun • serangan 3-4x setahun • hay fever

4. Asma Kronik/Persisten Gejala klinis : • terjadi pada umur 6 bulan atau <3 tahun • gejala timbul di malam hari

Page 35: sistem pakar

21

• gangguan pertumbuhan • sesak napas • mengi tiap hari • batuk • produksi lendir berlebihan

5. Asma Episodik Berat dan Berulang Gejala klinis : • sesak napas • mengi • batuk • produksi lendir berlebihan • ISPA (infeksi saluran napas atas) • pada anak kecil dan umur sebelum sekolah

6. Asma Persisten pada Bayi Gejala klinis : • sesak napas • mengi dengan takhipnu selama beberapa hari

atau beberapa minggu • batuk • produksi lendir berlebihan • umur 3-12 bulan

7. Asma Hipersekresi Gejala klinis : • sesak napas • mengi • batuk • produksi lendir berlebihan • suara napas berderak • terdapat pada anak kecil dan umur permulaan

sekolah 8. Asma karena Beban Fisik

Gejala klinis : • sesak napas • mengi • batuk • produksi lendir berlebihan • setelah melakukan kegiatan fisik

9. Asma dengan Alergen Gejala klinis :

Page 36: sistem pakar

22

• sesak napas • mengi • batuk malam keras dan kering • batuk terjadi pada jam 1-4 pagi • produksi lendir berlebihan • pada umur 2-6 tahun

10. Batuk Malam Gejala klinis : • sesak napas • mengi • batuk • produksi lendir berlebihan • asma pada jam 1-4 pagi

11. Asma Buruk di Pagi Hari Gejala klinis : • terjadi pada anak kecil dan bayi • suhu naik mendadak sampai 39-400 C • disertai kejang demam yang tinggi • anak gelisah • pernapasan cepat dan dangkal • pernapasan cuping hidung • sianosis sekitar hidung dan mulut • disertai muntah dan diare

12. Bronkopneumonia Gejala klinis : • badan menggigil • bayi kejang • suhu naik sampai 39-400 C • sesak napas • pernapasan cuping hidung • sianosis sekitar hidung dan mulut • nyeri pada dada • batuk mula-mula kering dan berdahak • anak lebih suka tiduran pada sebelah dada yang

terkena

13. Pneumonia Lobaris Gejala klinis :

Page 37: sistem pakar

23

• ISPA • batuk pilek • sesak napas • pernapasan dangkal dan cepat • anak gelisah, • sianotik • pernapasan cuping hidung • mengi

14. Bronkiolitis Akut Gejala klinis : • disebabkan oleh penyakit lain seperti : asma,

bronkitis, bronkopneumonia 15. Atelektasis

Gejala klinis : • terjadi 24 jam setelah operasi • dispnu (sesak napas) • sianosis (kebiruan) • takikardia (nadi cepat) • nyeri dada • gelisah • kenaikan suhu badan

16. Atelektasis Masif Gejala klinis : • dispnu ekspirator • ronki basah dan nyaring

17. Emfisema Obstruktif Gejala klinis : • krepitasi (ada udara) di daerah kulit yang

emfisematis 18. Emfisema Bulosa

Gejala klinis : • nyeri di sisi toraks yang terkena • dispnu • batuk • bersin • karena latihan jasmani yang berat

19. Pneumotoraks Gejala klinis : • sesak napas

Page 38: sistem pakar

24

• mengi • batuk • suara adanya lendir • setelah melakukan kegiatan fisik yang berlebihan

20. Empiema Torasis Gejala klinis : • suhu mendadak tinggi • takikardia • dispnea • sianosis • batuk-batuk • tampak sakit berat • demam remiten

Data-data di atas adalah data tentang berbagai jeins penyakit paru pada anak beserta gejala-gejala klinis yang ditimbulkannya. Data tersebut merupakan data awal sebagai inputan dari sistem sebelum diproses menjadi data output.

3.2.1.2 Penyusunan Basis Data

Basis Data merupakan suatu media penyimpanan yang digunakan untuk menyimpan data-data penunjang sebagai inputan sistem dan kemudian diolah menjadi data output sistem. Basis Data yang dibuat pada proyek akhir ini menggunakan MySQL.

Di bawah ini adalah tahap-tahap penyusunan basis data yang digunakan:

3.2.1.2.1 Pembuatan Tabel

a. Desain tabel penyakit

Page 39: sistem pakar

25

Gambar 3.1 Struktur tabel penyakit

Tabel penyakit digunakan untuk menyimpan data jenis-jenis penyakit paru pada anak. Field id_p merupakan nilai id yang diset sebagai primary key

pada tabel penyakit. Field nama_peny merupakan keterangan nama jenis penyakit

paru pada anak. Contoh tabel : Tabel 1. Tabel Penyakit

b. Desain tabel gejala

Gambar 3.2 Struktur tabel gejala

Tabel gejala digunakan untuk menyimpan data berbagai macam gejala klinis penyakit paru pada anak. Field id_g merupakan nilai id yang diset sebagai primary key

pada tabel gejala.

Page 40: sistem pakar

26

Field gejala_peny merupakan keterangan nama jenis penyakit paru pada anak.

Contoh tabel :

Tabel 2. Tabel gejala_penyakit

c. Desain tabel gejala_penyakit

Gambar 3.3 Struktur tabel gejala_penyakit

Tabel gejala_penyakit digunakan untuk menampung rule jenis penyakit yang berhubungan dengan berbagai macam gejala klinis penyakit paru pada anak.

Field id_p merupakan foreign key yang berhubungan dengan id_p pada tabel penyakit.

Field id_g merupakan foreign key yang berhubungan dengan id_g pada tabel gejala.

Contoh tabel : Tabel 3. Tabel penyakit

Page 41: sistem pakar

27

d. Desain tabel pertanyaan

Gambar 3.4 Struktur tabel pertanyaan

Tabel pertanyaan digunakan untuk mengatur rule berupa gejala yang akan ditampilkan sebagai pertanyaan sesuai kode yang saling berhubungan untuk didapatkan suatu kesimpulan.

Field Kode merupakan kode tiap pertanyaan yang akan ditampilkan.

Field tny_sblm merupakan kode dari pertanyaan yang telah diajukan sebelumnya.

Field tny_skrg merupakan id gejala yang akan ditampilkan sebagai pertanyaan untuk user.

Field tny_ya merupakan kode pertanyaan selanjutnya jika pada pertanyaan saat ini memilih jawaban ’Yes’.

Field tny_tdk merupakan kode pertanyaan selanjutnya jika pada pertanyaan saat ini memilih jawaban ’No’.

Contoh tabel :

Tabel 4. Tabel pertanyaan

Page 42: sistem pakar

28

3.2.1.2.2 Pembuatan Relasi Antar Tabel

Setelah tabel dibuat, maka tabel-tabel tersebut akan direlasikan. Hal ini akan sangat berguna dalam proses pengeditan data. Tabel pertanyaan akan berelasi dengan tabel gejala dan

tabel penyakit. Tabel gejala akan berelasi dengan tabel pertanyaan dan

tabel gejala_penyakit. Tabel penyakit akan berelasi dengan tabel pertanyaan

dan tabel gejala_penyakit. Tabel gejala_penyakit akan berelasi dengan tabel gejala

dan tabel penyakit. Di bawah ini adalah skema relasi antar tabel yang telah

kita buat pada database sebelumnya.

Gambar 3.5 Relationship antar tabel

3.2.2 Perancangan Proses

Kode tny_sblm tny_skrg tny_ya tny_tdk

pertanyaanid_g gejala_peny

id_p nama_peny

id_g id_p

gejala

penyakit

gejala_penyakit

Page 43: sistem pakar

29

Perancangan proses akan menjelaskan bagaimana sistem bekerja untuk mengolah data input menjadi data output dengan fungsi-fungsi yang telah direncanakan. Untuk perlu diketahui, bahwa sistem ini akan digunakan oleh dua user, yaitu user penderita (umum) dan user administrator.

3.2.2.1 Diagram Alir Sistem Di bawah ini akan ditampilkan diagram alir sistem user

menggunakan metode forward dan backward chaining, serta diagram alir manajemen sistem dalam mengedit data melalui proses tambah, hapus atau update data.

a. Diagram Alir Sistem User

Diagram alir sistem user adalah diagram yang menunjukkan bagaimana aliran proses yang terjadi dalam sistem user. Bagaimana aliran proses jika menggunakan metode backward/forward chaining akan dijelaskan lebih lanjut di dalam sub bab ini.

Page 44: sistem pakar

30

Gambar 3.6 Diagram alir sistem user

START

Pilih Metode

FW/BW Pilih Jenis Penyakit

tny_skrg → Kode() tny_ya=Kode(),tabel=”pertanyaan” tny_tdk=Kode(),tabel=”pertanyaan”

Answer

Kode(), tny_ya= Kode() Tabel=”pertanyaan”

Nama_peny Tabel “Penyakit”

Hasil

Ulang

Select Query→ id_p,tabel=”penyakit”

id_g,id_p,tabel=”gejala_penyakit”

id g,tabel=”gejala”

Hasil

Kode(), tny_tdk= Kode() Tabel=”pertanyaan”

END

Tampil tny skrg()

BW

FW

T

Y

Page 45: sistem pakar

31

Dari diagram alir di atas, dapat dijelaskan langkah-langkah proses yang dilakukan adalah sebagai berikut : Saat kita mulai menjalankan sistem, kita berada pada posisi START. Kemudian kita pilih metode yang akan digunakan. Pilihan metode berupa FW untuk representasi Forward Chaining dan BW untuk representasi Backward Chaining. Bila memilih metode BW, selanjutnya kita akan memilih jenis penyakit yang kita inginkan. Dari jenis penyakit yang kita pilih tersebut, sistem akan melakukan query select id_p pada tabel penyakit,id_g dan id_p pada tabel gejala_penyakit, yang kemudian diquerykan dengan id_g paad tabel gejala. Maka, akan didapatkan hasil gejala-gejala klinis yang berhubungan dnegan penyakit yang kita pilih sebelumnya. Bila memilih metode FW,pertama kali kita akan melakukan select kode pertama pada tabel pertanyaan. Dari hasil select tersebut, akan ditampilkan gejala pada tny_skrg milik tabel pertanyaan kode pertama. Kemudian user menginputkan jawaban Ya (Yes) atau Tidak (No). Jika user menginputkan jawaban Ya, maka sistem akan menuju pada kode untuk tny_ya dari kode sebelumnya. Apabila pada kode sekarang didapatkan bahwa tny_ya berisi kode penyakit, maka melakukan select nama_peny pada tabel penyakit. Sehingga didapatkanlah hasil nama penyakit yang didiagnosa. Jika user menginputkan jawaban Tidak, maka sistem akan menuju pada kode untuk tny_tdk dari kode sebelumnya. Apabila pada kode sekarang didapatkan bahwa tny_tdk berisi kode penyakit, maka melakukan select nama_peny pada tabel penyakit. Sehingga didapatkanlah hasil nama penyakit yang didiagnosa. Apabila saat user memilih jawaban ya/tidak bukan didapatkan id penyakit tetapi kode pertanyaan selanjutnya, maka kembali ke proses awal FW. Jika sebaliknya, menuju ke posisi END.

Page 46: sistem pakar

32

b. Diagram Alir Manajemen Sistem

Gambar 3.7 Diagram alir manajemen sistem

Dari diagram alir di atas, dapat dijelaskan langkah-langkah proses yang dilakukan adalah sebagai berikut : Saat kita mulai menjalankan sistem, kita berada pada posisi START. Selanjutnya, admin akan diberi pilihan mode edit yang akan digunakan. Mode edit yang tersedia adalah tambah, hapus dan update data. Setelah melalui proses-proses edit yang dipilih, maka tiap-tiap mode edit akan berakhir pada posisi END sebagai tanda pengakhiran program.

1. Mode Edit Tambah Data

start

Pilih mode edit

1

end

2

3

4

Page 47: sistem pakar

33

Gambar 3.8 Diagram alir mode edit tambah data

Dari diagram alir di atas, dapat dijelaskan langkah-langkah proses yang dilakukan adalah sebagai berikut : Admin akan diberi pilihan untuk menambah gejala atau penyakit dengan gejalanya. Penambahan penyakit yang baru haruslah diikuti pengisian gejala yang baru pula. Bila memilih untuk menambah gejala yang baru, maka admin harus memilih penyakit mana yang diberi gejala tersebut. Setelah memilih jenis penyakitnya, admin harus memasukkan id dan nama gejala yang baru. Kemudian informasi tersebut akan diproses dengan proses create gejala baru pada tabel gejala, gejala_penyakit, dan pertanyaan. Selanjutnya, sistem akan menampilkan penambahan gejala tersebut sebagai gejala tambahan pada penyakit yang dipilih.

Sedangkan bila memilih untuk menambah penyakit yang baru, maka admin harus memasukkan id dan nama penyakit yang baru. Setelah memasukkan, akan terjadi proses penambahan penyakit tersebut

tambah gejala penyakit

Select tabel “penyakit”

Create new gejala, Tabel=”gejala”,

Tabel=”gejala_penyakit”, Tabel=”pertanyaan”

hasil

Create new penyakit, Tabel=”penyakit”,Tabel=”pertanyaan”

hasil

Create new gejala, Tabel=”gejala”,

Tabel=”gejala_penyakit”,Tabel =”pertanyaan”

hasil

1

4

Input id_g, nama gejala

Input id_p, nama penyakit

Input id_g, nama gejala

Page 48: sistem pakar

34

pada tabel penyakit. Kemudian, sistem akan menampilkan penambahan penyakit tersebut.

Selanjutnya, admin harus memasukkan id dan gejala yang baru. Kemudian informasi tersebut akan diproses dengan proses create gejala baru pada tabel gejala, gejala_penyakit, dan pertanyaan. Langkah berikutnya, sistem akan menampilkan penambahan gejala tersebut sebagai gejala tambahan pada penaykit yang dipilih.

Jika proses-proses di atas telah dilakukan, sistem akan menuju kondisi END.

2. Mode Edit Hapus Data

Gambar 3.9 Diagram alir mode edit hapus data

Dari diagram alir di atas, dapat dijelaskan langkah-langkah

proses yang dilakukan adalah sebagai berikut : Admin akan diberi pilihan untuk melakukan penghapusan

gejala penyakit atau penyakit. Jika admin memilih untuk menghapus gejala, admin harus

memasukkan id gejala yang dipilih. Kemudian sistem akan melakukan select id tersebut pada tabel gejala, gejala_penyakit dan pertanyaan. Setelah sistem melakukan select, maka sistem akan melakukan proses

hapus

Select tabel=”gejala”, Tabel=”gejala_penyakit”,

Tabel=”pertanyaan”

Delete gejala

hasil

Select tabel=”penyakit”, Tabel=”gejala_penyakit”,

Tabel=”pertanyaan”

Delete penyakit

hasil

gejala penyakit

2

4

Input id_p Input id_g

Page 49: sistem pakar

35

delete gejala tersebut. Selanjutnya, sistem akan menampilkan hasil delete yang telah dilakukan.

Jika admin memilih untuk menghapus penyakit, admin harus memasukkan id penyakit yang dipilih. Kemudian sistem akan melakukan select id tersebut pada tabel penyakit, gejala_penyakit dan pertanyaan. Setelah sistem melakukan select, maka sistem akan melakukan proses delete penyakit tersebut. Selanjutnya, sistem akan menampilkan hasil delete yang telah dilakukan.

Bila proses-proses di atas telah dilakukan, sistem akan menuju kondisi END.

3. Mode Edit Update Data

Gambar 3.10 Diagram alir mode edit update data

Dari diagram alir di atas, dapat dijelaskan langkah-langkah

proses yang dilakukan adalah sebagai berikut : Admin akan diberi pilihan untuk melakukan peng-update-an

gejala penyakit atau penyakit. Jika admin memilih untuk meng-update gejala, admin harus

memasukkan id gejala yang dipilih. Kemudian sistem akan melakukan

update

Select tabel=”gejala”

Update gejala

hasil

Select tabel=”penyakit”

Update penyakit

hasil

gejala penyakit

3

4

Input id_p

Input nama penyakit baru

Input id_g

Input nama gejala baru

Page 50: sistem pakar

36

select id tersebut pada tabel gejala. Setelah sistem melakukan select, maka sistem akan meminta admin memasukkan nama gejala yang baru. Selanjutnya, sistem akan melakukan proses update data lama dengan yang baru. Barulah kemudian sistem menampilkan hasil proses update.

Jika admin memilih untuk meng-update penyakit, admin harus memasukkan id penyakit yang dipilih. Kemudian sistem akan melakukan select id tersebut pada tabel penyakit. Setelah sistem melakukan select, maka sistem akan meminta admin memasukkan nama penyakit yang baru. Selanjutnya, sistem akan melakukan proses update data lama dengan yang baru. Barulah kemudian sistem menampilkan hasil proses update.

Bila proses-proses di atas telah dilakukan, sistem akan menuju kondisi END.

3.2.2.2 Fungsi-fungsi yang Digunakan dalam Sistem

Di dalam proses sistem, akan digunakan fungsi-fungsi yang berbeda baik untuk user umum maupun user admin.

Pada sistem user, akan digunakan fungsi-fungsi seperti di bawah ini :

a. Backward chaining

Fungsi ini terdapat di lampiran pada file mcmpeny.php.

Pada proses ini, pertama-tama user akan diberikan pilihan mengenai berbagai jenis penyakit paru pada anak. Pilihan user kemudian akan men-select semua gejala yang berhubungan dengan jenis penyakit yang dipilih untuk ditampilkan informasinya.

b. Forward chaining Fungsi ini terdapat di lampiran pada file konsul.php.

Pada proses ini, pertama-tama user akan diberi pertanyaan

mengenai gejala yang paling umum dialami untuk semua jenis penyakit paru anak. User diberikan pilihan jawaban, pilihan jawaban ’Yes’ untuk representasi user mengalami gejala tersebut dan jawaban ’No’ untuk representasi user tidak mengalami gejala tersebut.

Dari pilihan jawaban itulah, maka sistem akan mengarah pada kode pertanyaan yang dituju. Kode pertanyaan yang dituju akan

Page 51: sistem pakar

37

menampilkan gejala selanjutnya sebagai pertanyaan berikutnya. Tentunya pertanyaan yang tampil hanya untuk gejala-gejala yang berkaitan saja dengan mengarah pada suatu jenis penyakit tertentu. Begitu seterusnya sistem akan berjalan hingga didapatkan kode pertanyaan berikutnya yang berisi kesimpulan penyakit yang diderita.

Sedangkan pada user admin, akan digunakan fungsi-fungsi

seperti di bawah ini :

1. Tambah data Dalam proses tambah data ini meliputi penambahan gejala

penyakit dan penyakit.

a) Gejala penyakit Fungsi ini terdapat di lampiran pada file addgp2.php dan

insert.php.

Pada proses penambahan gejala penyakit ini, akan terjadi penambahan pada tabel gejala, gejala_penyakit, dan pertanyaan. Fungsi di atas adalah fungsi yang digunakan pada perubahan dalam tabel pertanyaan. Perubahan pada tabel pertanyaan akan menambah tiap kode pertanyaan setelah kode yang disisipkan. Sedangkan untuk kode sebelum kode yang disisipkan tidak ada perubahan.

b) Penyakit

Fungsi ini terdapat di lampiran pada file addp.php dan

addgp221.php Pada proses penambahan penyakit ini, akan terjadi penambahan

pada tabel penyakit, gejala_penyakit, dan pertanyaan. Untuk penyakit baru ini tentunya memiliki gejala-gejala klinis yang baru pula, maka proses penambahan gejalanya sendiri sama dengan proses penambahan gejala penyakit sebelumnya.

Page 52: sistem pakar

38

2. Hapus data Dalam proses hapus data ini meliputi penghapusan gejala

penyakit dan penyakit. a) Gejala penyakit

Fungsi ini terdapat di lampiran pada file delg2.php.

Pada proses penghapusan gejala penyakit ini, akan terjadi

penghapusan pada tabel gejala, gejala_penyakit, dan pertanyaan. Fungsi di atas kita gunakan saat ada perubahan dalam tabel pertanyaan. Untuk kode setelah gejala yang dihapus, maka kode pertanyaan akan berkurang sebanyak jumlah gejala yang dihapus.

b) Penyakit

Fungsi ini terdapat di lampiran pada file delp2.php. Pada proses penghapusan penyakit ini, akan terjadi

penghapusan pada tabel penyakit, gejala_penyakit, dan pertanyaan. Di dalam tabel pertanyaan, untuk kode pertanyaan yang penyakitnya dihapus, maka isi tabel pertanyaan tersebut menjadi penyakit berinisial Ptd.

3. Update data Dalam proses edit data ini meliputi pengeditan gejala penyakit

dan penyakit.

a) Gejala penyakit

Fungsi ini terdapat di lampiran pada file upgej3.php.

Pada proses pengeditan gejala penyakit ini, akan terjadi pengeditan pada tabel gejala, gejala_penyakit, dan pertanyaan. Data baru akan tersimpan dalam tabel-tabel tersebut setelah di-update.

b) Penyakit

Fungsi ini terdapat di lampiran pada file uppeny3.php.

Page 53: sistem pakar

39

Pada proses pengeditan penyakit ini, akan terjadi penghapusan

pada tabel penyakit, gejala_penyakit, dan pertanyaan. Data baru akan tersimpan dalam tabel-tabel tersebut setelah di-update.

3.2.3 Perancangan Antarmuka User interface merupakan bagian dari sistem pakar yang digunakan sebagai media atau alat komunikasi antar user dan sistem. Di dalam user interface ini dibedakan dua user :

• User penderita (umum) adalah user yang menggunakan sistem pakar ini untuk mencari informasi dari gangguan-gangguan yang dideritanya atau sekedar mencari informasi jenis-jenis penyakit paru pada anak beserta gejalanya.

• User administrator adalah user yang bertugas untuk melakukan proses editing, penambahan dan perawatan data di dalam sistem pakar jika diperlukan perubahan

3.2.3.1 Pembuatan Tree Pembuatan tree pada data digunakan untuk mempermudah dalam

proses penalaran data yang akan dimasukkan ke dalam database pada program yang telah dibuat. Proses penalaran yang digunakan akan menggunakan proses penalaran dengan metode forward dan backward chaining.

Gambar 3.11 Tampilan proses sistem pakar

Dari gambar di atas dapat dijelaskan bahwa terdapat dua metode dalam sistem pakar, yaitu :

• Forward chaining

Gejala Klinis Penyakit

forward

backward

Page 54: sistem pakar

40

User harus mengetahui gejala-gejala klinis yang diderita sebagai bahan untuk menjawab pertanyaan yang diberikan oleh program. Pertanyaan yang diberikan berupa gejala yang saling berhubungan dengan gejala-gejala yang telah dijawab sebelumnya, hingga didapatkan kesimpulan diagnosa jenis penyakitnya.

• Backward chaining User dapat mengetahui informasi mengenai berbagai macam jenis penyakit dengan gejala-gejala klinis yang ditimbulkannya.

Tree dan kode penyakit serta gejala terdapat pada halaman lampiran .

Dari tree yang terlampir pada lampiran, maka dapat dijelaskan

sebagai berikut : Sebagai root, gejala 5 (dengan asumsi penulisan diawali huruf G

untuk semua gejala yang tersimpan dalam database, misal : G5) adalah gejala yang paling banyak dijumpai pada berbagai jenis penyakit paru pada anak.

Jika gejala 5 memang dialami user, dalam asumsi pilihan adalah Ya (Yes), maka gejala 1 akan ditanyakan sebagai pertanyaan selanjutnya.

Apabila gejala 1 memang dialami (Ya/Yes), maka akan ditampilkan gejala 3 untuk pertanyaan selanjutnya, sebaliknya jika tidak dialami (Tidak/No), maka gejala 20 yang akan ditampilkan sebagai pertanyaan selanjutnya.

Sedangkan jika gejala 5 memang tidak dialami user, dalam asumsi pilihan adalah Tidak (No), maka gejala 29 akan ditanyakan sebagai pertanyaan selanjutnya.

Apabila gejala 29 memang dialami (Ya/Yes), maka akan ditampilkan penyakit dengan id : R (dengan asumsi penulisan diawali huruf P untuk semua jenis penyakit yang tersimpan dalam database, misal : PR) sebagai hasil/kesimpulan diagnosa, sebaliknya jika tidak dialami (Tidak/No), maka gejala 20 yang akan ditampilkan sebagai pertanyaan selanjutnya.

Maka, proses-proses di atas akan berlangsung terus menerus hingga didapatkan hasil/kesimpulan dari tiap-tiap percabangan.

Page 55: sistem pakar

41

3.2.3.2 Struktur Data yang digunakan Dalam sistem admin ini, untuk penyimpanan data-data dalam

database menggunakan struktur array yang berurutan tiap barisnya. Misal :

$nol=$row[0]; … $satu=$row[1]; … $tiga=$row[3]; … $empat=$row[4]; ... $sql="UPDATE pertanyaan SET Kode=$nol,tny_sblm=$satu,tny_ya='$ya',tny_tdk='$tdk' where Kode =$kod";

3.2.3.3 Blok Arsitektur Sistem Untuk perancangan antar muka, di bawah ini akan ditunjukkan

blok arsitektur sistem yang digunakan pada proyek akhir.

Gambar 3.12 Blok Arsitektur Sistem

Dari gambar di atas, dapat dijelaskan bahwa urutan event yang

terjadi dalam sistem adalah :

Perangkat Mobile

WAP Gateway

MySQL Database

request request

response response

Sistem Pakar

PHP

Web Server

Page 56: sistem pakar

42

1. User/admin melakukan request alamat URL yang dituju ke WAP Gateway pada dari perangkat mobile.

2. Request tersebut akan ditransmisikan via internet dari perangkat mobile.

3. Kemudian request akan diteruskan ke web server. Server membaca header dan memproses permintaan dokumen WAP. Kode program PHP yang terdapat dalam dokumen ini dikompilasi dengan sistem pakar dan diformat sesuai dengan kebutuhan. Jika memang dibutuhkan untuk penggunaan database, maka akan terjadi pula koneksi ke database yang digunakan, yaitu MySQL.

4. Dokumen atau deck WAP yang telah diproses ini dikirimkan kembali melalui WAP gateway sebagai response atas request sebelumnya.

5. Pada gateway, isi dari deck dikompres menjadi data biner dan dikirimkan ke perangkat mobile.

3.2.3.4 Desain Homepage Dalam pembuatan antarmuka sistem berupa homepage, maka di

bawah ini adalah desain homepage yang digunakan.

Page 57: sistem pakar

43

Gambar 3.13 Desain Homepage Sistem

3.2.3.5 Implementasi Sistem

Dari desain homepage sistem yang telah kita buat sebelumnya,

maka dapat kita implementasikan seperti beberapa contoh tampilan berikut :

Gambar 3.14 Halaman Utama

Halaman Utama

Halaman Login

Menu Utama User : -Konsultasi -Macam Penyakit -Lokasi RS

Menu Utama Admin : -Tambah data -Hapus data -Update data

Konsultasi Penyakit

Macam Penyakit

Lokasi RS

Tambah data

Hapus data

Update data

Gejala Penyakit

Penyakit

Gejala Penyakit

Penyakit

Penyakit

Gejala Penyakit

BW

FW

Page 58: sistem pakar

44

Gambar 3.15 Halaman Login

Gambar 3.16 Menu Utama User

Gambar 3.17 Menu Utama Admin

Page 59: sistem pakar

45

BAB IV

PENGUJIAN DAN ANALISA 4.1 PENGUJIAN UMUM Dalam bab ini akan dijelaskan mengenai hasil uji coba perangkat lunak pembangunan sistem pakar pada perangkat mobile dengan WML dan PHP untuk penyakit paru pada anak. Selain itu, dari hasil uji coba yang telah dilakukan akan dianalisa apakah rancangan ini dapat memenuhi tujuan yang akan dicapai seperti yang telah dipaparkan pada Bab I. Berikut ini adalah spesifikasi perangkat lunak sebagai sistem pendukung aplikasi yang dibuat :

• apache2triad1.5.2 yang meliputi Apache sebagai web servernya, PHP untuk bahasa pemrogramannya dan MySQL sebagai databasenya.

• upsdkW41e keluaran Openwave Sytems,Inc. sebagai emulator WAP sebelum dijalankan ke perangkat mobile yang sesungguhnya.

4.2 PENGUJIAN SISTEM Sebelum kita mulai untuk menjalankan aplikasi yang kita buat, kita harus memastikan bahwa gateway student.eepis-its.edu sebagai web server lokal telah aktif dan sukses dijalankan. Hal ini sangat penting kita perhatikan karena aplikasi hanya dapat running jika web sever juga running (aktif). Setelah web server telah aktif, maka pada perangkat mobile kita mengetikkan alamat URL sebagai berikut: http://student.eepis-its.edu/~astrid/index.php. Tetapi untuk uji coba sebelum pada perangkat mobile yang sesungguhnya, terlebih dahulu kita gunakan pada emulator WAP dengan Apache sebagai web server lokal. Sehingga pada emulator, kita dapat mengetikkan alamat URL sebagai berikut: http://localhost/taku/index.wml. Jika setelah mengakses halaman tersebut didapatkan tampilan halaman utama, maka kita dapat memulai pengujian baik sistem user atau sistem admin yang kita inginkan.

Page 60: sistem pakar

46

Gambar 4.1 Tampilan halaman utama pada emulator WAP

Gambar 4.2 Tampilan pesan error pada command prompt

Gambar 4.3 Tampilan halaman utama pada perangkat mobile

Page 61: sistem pakar

47

Gambar 4.4 Tampilan halaman utama lanjutan pada perangkat mobile

4.2.1 PENGUJIAN SISTEM USER

Saat user mengakses alamat URL yang kita sebutkan di atas,

maka kita akan mengakses halaman utama. Selanjutnya, kita akan berada pada halaman login agar sistem dapat mengetahui user yang sedang aktif dan apa yang ingin dilakukannya. Sebagai user umum, sebaiknya kita memilih link Umum karena jika kita memilih link Admnistrator maka akan terdapat autentifikasi yang hanya diketahui oleh admin saja.

Selanjutnya, kita akan dihadapkan pada menu utama user dengan pilihan Konsultasi Penyakit, Macam Penyakit dan Lokasi Rumah Sakit Paru.

Perlu diketahui, bahwa dengan memilih menu Konsultasi Penyakit, informasi yang didapatkan adalah representasi dari metode Forward Chaining. Sedangkan menu Macam Penyakit, informasi yang didapatkan adalah representasi dari metode Backward Chaining. Dan menu Lokasi Rumah Sakit Paru adalah menu yang akan menampilkan informasi alamat Rumah Sakit Paru yang terletak di beberapa daerah di Indonesia.

Gambar 4.5 Halaman login

Page 62: sistem pakar

48

Gambar 4.6 Menu Utama User Umum

Gambar 4.7 Halaman utama menu Lokasi Rumah Sakit Paru

Pilihan daerah untuk Lokasi Rumah Sakit Paru hanya di beberapa daerah saja, tetapi hal ini tidak berarti bahwa selain daerah yang ditunjuk tidak terdapat rumah sakit paru.

Gambar 4.8 Pilihan daerah Lokasi Rumah Sakit Paru

Page 63: sistem pakar

49

Gambar 4.9 Informasi lokasi Rumah Sakit Paru

1) Pengujian Proses Forward

Pada proses ini, pertama-tama user akan diberi pertanyaan

mengenai gejala yang paling umum dialami untuk semua jenis penyakit paru anak. User diberikan pilihan jawaban, pilihan jawaban ’Yes’ untuk representasi user mengalami gejala tersebut dan jawaban ’No’ untuk representasi user tidak mengalami gejala tersebut.

Dari pilihan jawaban itulah, maka sistem akan mengarah pada kode pertanyaan yang dituju. Kode pertanyaan yang dituju akan menampilkan gejala selanjutnya sebagai pertanyaan berikutnya. Tentunya pertanyaan yang tampil hanya untuk gejala-gejala yang berkaitan saja dengan mengarah pada suatu jenis penyakit tertentu. Begitu seterusnya sistem akan berjalan hingga didapatkan kode pertanyaan berikutnya yang berisi kesimpulan penyakit yang diderita.

Untuk pengujian proses forward ini, kita dapat melihat pada menu informasi Konsultasi Penyakit.

Gambar 4.10 Halaman utama menu Konsultasi Penyakit

Page 64: sistem pakar

50

Gambar 4.11 Tampilan pertanyaan 1 Konsultasi Penyakit

Gambar 4.12 Menu jawaban pertanyaan

Gambar 4.13 Tampilan pertanyaan 2 Konsultasi Penyakit

Page 65: sistem pakar

51

Gambar 4.14 Hasil kesimpulan diagnosa penyakit

2) Pengujian Proses Backward

Pada proses ini, pertama-tama user akan diberikan pilihan mengenai berbagai jenis penyakit paru pada anak. Pilihan jenis penyakit user akan menentukan semua gejala yang berhubungan dengan jenis penyakit yang dipilih untuk ditampilkan informasinya.

Dalam pengujian proses backward, kita dapat melihat pada menu informasi Macam Penyakit dan menu jawaban why dari pilihan informasi Konsultasi Penyakit. Dari menu why ini, kita dapat melihat kembali jawaban apa saja yang sudah kita berikan sebelumnya, sehingga diharapkan kita mampu memberikan informasi yang tepat pada sistem. Selanjutnya, sistem dapat memberikan informasi yang tepat pula pada user.

Gambar 4.15 Halaman utama menu Macam Penyakit

Gambar 4.16 Tampilan pilihan Macam Penyakit

Page 66: sistem pakar

52

Gambar 4.17 Tampilan pilihan Macam Penyakit lanjutan

Pada halaman pilihan macam penyakit, kita harus menuliskan nomor pilihan berdasarkan jenis penyakit yang ingin kita ketahui informasi gejala-gejalanya.

Gambar 4.18 Hasil informasi gejala dari suatu penyakit

Sedangkan di bawah ini adalah hasil uji coba pilihan menu why dalam Konsultasi Penyakit.

Gambar 4.19 Menu jawaban why dalam pilihan jawaban

Page 67: sistem pakar

53

Gambar 4.20 Hasil informasi akses menu why

4.2.2 PENGUJIAN SISTEM ADMIN

Dalam proses pengeditan data, user admin harus melakukan proses login pada interface. Pada halaman login admin, admin diminta memasukkan username dan password. Hal ini untuk menghindari penyalahgunaan manajemen sistem oleh selain admin. Setelah admin berhasil login, user dapat memilih mode edit apa yang akan dilakukan. Mode edit yang diberikan berupa tambah, hapus dan update data yang ada.

Gambar 4.21 Halaman login admin

Gambar 4.22 Tampilan halaman login admin

Page 68: sistem pakar

54

Gambar 4.23 Tampilan pesan jika password salah

Gambar 4.24 Tampilan pesan jika password benar

Gambar 4.25 Pilihan proses edit admin

1) Tambah Data Dalam proses tambah data ini, admin diberi pilihan untuk

menambah gejala atau jenis penyakit yang baru.

Page 69: sistem pakar

55

Gambar 4.26 Pilihan proses tambah data

a. Gejala Penyakit

Apabila admin memilih untuk menambah gejala penyakit baru, maka sistem akan menanyakan jenis penyakit mana gejala baru tersebut akan ditambahkan. Karena, penambahan gejala ini tidak diberikan untuk semua jenis penyakit paru yang ada, sebab belum tentu semua jenis penyakit paru yang ada mengandung gejala tersebut.

Setelah jenis penyakit yang ingin ditambahkan gejalanya dipilih, maka sistem akan menampilkan kembali gejala-gejala awal sebelum ada penambahan data baru sebagai informasi.

Sebelum kita mulai menuliskan nama gejala baru tersebut, sistem meminta admin untuk menulis ID gejala yang baru. Sistem juga memberikan informasi ID gejala terakhir yang telah tersimpan dalam database agar tidak terjadi duplikasi ID. Kemudian kita dapat menuliskan nama gejala yang ingin ditambahkan.

Setelah menulis ID dan nama gejala baru tersebut, sistem akan menanyakan pada urutan pertanyaan ke berapa gejala baru tersebut ingin ditampilkan. Semua informasi tersebut dibutuhkan sistem sebgai inputan proses tambah gejala.

Dari semua informasi yang dibutuhkan sistem untuk gejala baru tersebut, maka setelah berhasil disimpan oleh sistem akan dimunculkan tampilan pesan sistem. Untuk meyakinkan admin bahwa data telah berhasil ditambahkan, maka sistem memberi fasilitas untuk menampilkan kembali penyakit dan gejala lama maupun baru yang ditambahkan.

Page 70: sistem pakar

56

Gambar 4.27 Pilihan tambah gejala pada penyakit tertentu

Gambar 4.28 Pilihan tambah gejala pada penyakit tertentu lanjutan

Gambar 4.29 Informasi data gejala sebelum ditambahkan

Gambar 4.30 ID gejala baru

Page 71: sistem pakar

57

Gambar 4.31 Nama gejala baru

Gambar 4.32 Urutan pertanyaan gejala baru

Gambar 4.33 Informasi sistem jika berhasil menambah

Gambar 4.34 Gejala penyakit baru berhasil ditambahkan

Page 72: sistem pakar

58

b. Penyakit Apabila admin memilih untuk menambah gejala penyakit baru,

maka akan ditampilkan kembali semua ID dan jenis-jenis penyakit yang sudah ada. Informasi tersebut diberikan untuk menghindari adanya kesamaan ID jika penyakit baru ditambahkan.

Kemudian admin diminta untuk memasukkan semua informasi mengenai penyakit baru berupa ID dan nama penyakit yang baru. Selanjutnya sistem akan memberi tampilan pesan jika sistem berhasil tambah data tersebut. Untuk meyakinkan admin bahwa data telah berhasil ditambahkan, maka sistem memberi fasilitas untuk menampilkan kembali semua nama penyakit beserta IDnya yang telah tersimpan saat ini dalam database.

Karena admin telah menambahkan penyakit yang baru, maka pada penyakit tersebut belum terdapat gejala-gejala klinis yang ditimbulkannya. Oleh sebab itu, sistem memberikan admin fasilitas untuk memberikan penambahan gejala bagi penyakit baru tersebut.

Jika informasi ID dan nama gejala yang baru telah tersimpan, maka sistem akan memberikan tampilan pesan berhasil dilakukan. Untuk meyakinkan admin bahwa data telah berhasil ditambahkan, maka sistem memberi fasilitas untuk menampilkan kembali nama penyakit baru tersebut beserta gejala yang telah ditambahkan yang tersimpan saat ini dalam database.

Apabila admin ingin menambah kembali gejala lain untuk penyakit yang baru tersebut, maka admin dapat memilih menu Addgejala kembali dengan melalui proses yang sama seperti di atas.

Gambar 4.35 Informasi ID dan jenis penyakit yang ada

Page 73: sistem pakar

59

Gambar 4.36 ID dan nama penyakit yang ditambahkan

Gambar 4.37 Tampilan pesan sistem jika proses tamabah berhasil

Gambar 4.38 Halaman hasil proses tambah penyakit

Gambar 4.39 Proses pemberian ID dan nama gejala pada penyakit baru

Page 74: sistem pakar

60

Gambar 4.40 Tampilan pesan sistem jika proses insert berhasil

Gambar 4.41 Halaman hasil penambahan gejala penyakit baru

2 ) Hapus Data Apabila admin memilih proses hapus data, maka sistem akan

memberikan pilihan hapus data gejala penyakit atau penyakit itu sendiri.

Gambar 4.42 Pilihan proses delete data

a. Gejala penyakit Jika admin ingin melakukan penghapusan salah satu jenis

gejala yang ada, maka sistem akan menampilkan kembali informasi semua jenis gejala yang telah ada beserta IDnya. Hal ini diberikan untuk

Page 75: sistem pakar

61

memudahkan admin memilih gejala yang akan dihapus. Kemudian dari informasi yang ditampilkan, admin dapat menuliskan ID gejala yang dipilih.

Setelah menuliskan ID gejala yang akan dihapus, maka sistem akan melakukan proses hapus data gejala yang dipilih. Jika sistem berhasil, maka akan tampil pesan di layar bahwa proses tersebut berhasil.

Untuk memastikan bahwa sistem telah berhasil melakukan proses delete tersebut, maka sistem akan menampilkan hasil berupa informasi semua jenis gejala beserta IDnya yang tersimpan di tabel gejala saat ini.

Gambar 4.43 Informasi semua gejala beserta IDnya

Gambar 4.44 Menuliskan ID gejala yang akan dihapus

Gambar 4.45 Halaman hasil delete gejala

Page 76: sistem pakar

62

b. Penyakit

Jika admin ingin melakukan penghapusan salah satu jenis

penyakit yang ada, maka sistem akan menampilkan kembali informasi semua jenis penyakit yang telah ada beserta IDnya. Hal ini diberikan untuk memudahkan admin memilih penyakit yang akan dihapus. Kemudian dari informasi yang ditampilkan, admin dapat menuliskan ID penyakit yang dipilih.

Setelah menuliskan ID penyakit yang akan dihapus, maka sistem akan melakukan proses hapus data penyakit yang dipilih. Jika sistem berhasil, maka akan tampil pesan di layar bahwa proses tersebut berhasil.

Untuk memastikan bahwa sistem telah berhasil melakukan proses delete tersebut, maka sistem akan menampilkan hasil berupa informasi semua jenis penyakit beserta IDnya yang tersimpan di tabel penyakit saat ini

Gambar 4.46 Informasi semua jenis penyakit paru anak serta IDnya

Gambar 4.47 Menuliskan ID penyakit yang akan dihapus

Page 77: sistem pakar

63

Gambar 4.48 Tampilan pesan jika proses delete data berhasil

4.2.2.3 UPDATE DATA Dalam proses update data ini, admin diberi pilihan untuk meng-

update gejala atau penyakit yang sudah ada.

Gambar 4.49 Pilihan proses update data

Gambar 4.50 Pilihan proses update data

a. Gejala penyakit

Apabila admin memilih untuk update data gejala penyakit,

maka sistem akan menampilkan kembali semua gejala yang sudah ada beserta IDnya untuk dilihat kembali oleh admin. Sehingga admin dapat memilih gejala mana yang ingin di-edit. Jika admin sudah mengetahui

Page 78: sistem pakar

64

ID gejala mana yang ingin di edit, maka sistem akan meminta admin untuk menuliskan ID gejala yang dipilih.

Bila proses update di atas berhasil, maka akan tampil pesan bahwa proses update telah berhasil. Selanjutnya, untuk memastikan bahwa proses update telah berhasil dilakukan, sistem akan menampilkan kembali isi tabel gejala beserta IDnya.

Gambar 4.51 Informasi semua ID dan gejala yang ada

Gambar 4.52 Informasi semua ID dan gejala sebelum ditambahakan

Gambar 4.53 ID gejala yang dipilih

Page 79: sistem pakar

65

Gambar 4.54 Nama gejala sebelum di-edit

Gambar 4.55 Nama gejala yang baru

Gambar 4.56 Pesan yang ditampilkan jika berhasil update

Gambar 4.57 Halaman hasil update gejala

b. Penyakit

Page 80: sistem pakar

66

Apabila admin memilih untuk melakukan proses edit data

untuk update data penyakit, maka sistem akan menampilkan kembali isi tabel penyakit secara keseluruhan. Kemudian setelah tampilan di atas, maka sistem akan meminta admin untuk memasukkan ID penyakit yang dipilih untuk di-edit. Baru setelah itu, kita dapat menuliskan nama penyakit yang baru.

Jika sistem berhasil untuk update data tersebut, maka akan ditampilkan pesan ini di layar.

Untuk memastikan bahwa proses update data telah berhasil, maka sistem memberikan tampilan informasi semua nama gejala penyakit beserta IDnya yang telah tersimpan dalam tabel penyakit saat ini.

Gambar 4.58 Informasi semua nama penyakit beserta IDnya

Gambar 4.59 ID penyakit yang akan di-edit

Page 81: sistem pakar

67

Gambar 4.60 Nama penyakit sebelum di-edit

Gambar 4.61 Nama penyakit yang di-edit

Gambar 4.62 Tampilan pesan jika proses update berhasil

Gambar 4.63 Halaman hasil proses update nama penyakit

Page 82: sistem pakar

68

4.3 ANALISA PROGRAM Secara umum, hasil uji coba sistem pada emulator WAP, sistem aplikasi tidak dapat muncul pada layar. Hal ini disebabkan karena format file yang telah kita buat, berekstensi php bukan wml. Padahal, agar file dapat berjalan pada emulator, file harus berekstensi wml, dengan menggunakan Apache sebagai web server lokal. Sehingga alamat URL yang digunakan akan menjadi http://localhost/index.wml. Hasil dari uji coba sistem pakar untuk user umum telah memenuhi tujuan dari pembuatan sistem pakar yang telah dipaparkan pada bab I. Sistem pakar dapat melakukan proses penalaran suatu data yang berupa gejala ataupun penyakit untuk mencari suatu informasi terhadap suatu penyakit. Proses penalaran data dapat dilakukan dengan menggunakan proses forward dan backward chaining. Sedangkan dari hasil uji coba sistem pakar untuk user admin, diketahui bahwa sistem pakar bersifat fleksibel, dalam arti data di dalam sistem dapat diedit sesuai dengan keinginan user admin. Data-data tersebut antara lain berupa gejala, penyakit dan aturan –aturan yang mengaturnya sesuai dengan tree yang telah dibuat. User admin harus membuat tree terhadap suatu penyakit yang digunakan untuk mempermudah dalam proses penginputan data.

Setelah tree dibuat, maka data dapat diinputkan melalui admin interface dan mengedit rule-rule yang mengaturnya sesuai dengan tabel-tabel data yang telah dibuat.

Mengapa tidak digunakan tabel data seperti di bawah ini ?

Gejala/

Penyakit 1 2 3 4

A B C D

1 1 1 1

1 1 0 0

1 0 0 0

0 0 1 0

Karena, jika menggunakan tabel data seperti di atas, sistem

akan memberikan pertanyaan kepada user semua gejala yang tersimpan dalam database.

Page 83: sistem pakar

69

Apabila jumlah gejala yang ada berjumlah besar, misal 50 buah, tidak akan efektif untuk ditampilkan ke dalam perangkat mobile. Waktu dan tenaga user akan tersita banyak karena harus menjawab 50 pertanyaan tersebut, belum lagi biaya dan waktu user akan banyak terbuang. Sehingga bisa dikatakan sistem tidak bersifat user friendly.

Sedangkan jika kita menggunakan desain tabel sebelumnya, dimana terdiri dari beberapa tabel dan ada relasi satu sama lain, maka kelemahan yang kita dapat ada pada proses delete data gejala penyakit.

Proses delete gejala penyakit tersebut hanya dapat berjalan untuk kondisi tree yang memiliki satu percabangan saja. Jika kondisi data yang dihapus pada awalnya memiliki banyak percabangan, maka kondisi percabangan berikutnya akan hilang.

Karena kelemahan inilah, untuk penghapusan gejala penyakit, sistem memberikan batasan bahwa gejala penyakit tersebut hanya memiliki sebuah percabangan saja di dalam tree yang telah dibuat. Sebab, jika memaksakan untuk dihapus meski memiliki percabangan banyak, maka akan banyak penyakit yang tidak terdeteksi karena tidak diketahuinya gejala-gejala klinisnya.

Sebagai tambahan, perlu diketahui bahwa dalam penggunaan perangkat mobile yang sesungguhnya, akan tampil beberapa kejadian yang mungkin dapat dijelaskan sebagai berikut :

Saat penggunaan file dengan ekstensi php dalam WAP, kita harus mencantumkan header di bawah ini jika file tersebut membutuhkan proses ke dalam database. Apabila proses database tidak diperlukan, maka tidak perlu mencantumkan heeder di bawah ini.

<?php //mengirim header header(”Content-type:text/vnd.wap.wml”); echo(“<?xml version=\”1.0\”?>”); echo(”<!DOCTYPE wml PUBLIC \”-//WAPFORUM//DTD WML 1.1//EN\”\”http://www.wapforum.org/DTD/wml_1.1.xml”>”; ?>

Penggunaan relasi antar dua tabel dalam WAP dapat dilakukan

jika akes tabel dilakukan satu persatu terlebih dahulu. Misal, jika kita ingin melakukan query untuk dua tabel yang saling berelasi, terlebih dahulu kita melakukan query pada tabel pertama. Selanjutnya hasil dari query tabel pertama, kita gunakan sebagai input untuk query pada tabel kedua. Apabila kita langsung melakukan query pada dua tabel atau lebih

Page 84: sistem pakar

70

yang saling berelasi, maka dapat dipastikan akan terjadi pesan warning dari sistem.

Selain itu, dalam hal pengiriman parameter pada file ekstensi php, proses yang dilakukan adalah pengiriman parameter oleh file asal, kemudian parameter ditangkap oleh file tujuan, baru parameter dapat diproses oleh file tujuan. Jika parameter tidak ditangkap oleh file tujuan, maka dapat dipastikan parameter akan bernilai kosong. Di bawah ini adalah sintaks yang digunakan untuk menangkap parameter pada file tujuan :

$nama_parameter = $_POST(”nama_parameter”);

Keunikan yang terjadi saat uji coba aplikasi adalah pada pemilihan nomer jenis penyakit untuk menu Macam Penyakit. Khusus untuk pilihan penyakit nomer 7 tidak dapat diakses, pesan error yang tampil adalah 502 : bad error gateway. Hingga saat ini penyusun belum dapat menjelaskan mengapa hal ini dapat terjadi. Pada kenyataannya, perangkat mobile yang digunakan untuk uji coba aplikasi, tidak semua jenis perangkat mobile dapat mengakses. Dalam uji coba ini, digunakan perangkat mobile Siemens tipe C60, dengan operator seluler Indosat M3. Untuk perangkat mobile sejenis Nokia, penyusun pernah mencoba Nokia 6100, tetapi tidak mampu mengakses. Pesan error yang ditampilkan adalah file format unknown. Hingga sekarang, penyusun belum mengetahui apa alasan yang mungkin dapat menjelaskan kejadian tersebut.

Page 85: sistem pakar

71

BAB V

PENUTUP

5.1 Simpulan

Setelah dilakukan pengujian dan analisa program, maka dapat diperoleh simpulan sebagai berikut :

• Sistem user yang telah dibuat mampu melakukan proses penalaran data baik dengan metode forward ataupun backward chaining.

• Sistem admin dapat melakukan proses penambahan, penghapusan dan update data untuk gejala penyakit pada penyakit tertentu atau untuk penyakit itu sendiri.

• Khusus untuk proses penghapusan data gejala penyakit, memiliki batasan tertentu berupa gejala yang akan dihapus tidak memiliki lebih dari satu percabangan.

• Penggunaan file ekstensi php dalam WAP memungkinkan banyak hal-hal baru yang hanya terjadi untuk situasi tertentu. Mulai dari akses tabel, pengiriman parameter, hingga penggunaan header.

5.2 Saran Dari beberapa simpulan yang telah diambil, maka dapat dikemukakan saran-saran yang akan sangat membantu untuk pengembangan perangkat lunak ini selanjutnya.

• Perlu diadakan penambahan data untuk jenis penyakit paru pada anak beserta gejala-gejala klinisnya sehingga informasi yang dimiliki akan semakin luas dan banyak.

• Pada sistem admin, jika terjadi penambahan data yang lebih kompleks, admin haruslah mendesain tree dan database yang cukup fleksibel sehingga mampu memudahkan admin dalam melakukan manajemen sistem.

Sedangkan untuk penggunaan sistem user, maka dapat dikemukakan saran-saran sebagai berikut :

Page 86: sistem pakar

72

• Selain menu why seharusnya digunakan pilihan menu how, dimana menu how ini akan merepresentasikan metode forward chaining. Menu ini akan membantu sistem dalam menentukan percabangan selanjutnya setelah satu percabangan dilewati. Diharapkan untuk penyusun baru yang berminat mengembangkan judul proyek akhir ini, mampu menambahkan menu how pada sistem selanjutnya.

Page 87: sistem pakar

DAFTAR PUSTAKA

1. Syarif, Iwan dan Badriyah, Tessy. 2002. Pembuatan Alat Bantu

Ajar Sistem Pakar dengan Teknik Inferensi Backward Chaining. Surabaya.

2. Hakim, Lukmanul dan Musalini, Uus. 2005. 150 Rahasia dan Trik Menguasai PHP. Jakarta : PT Gramedia.

3. Wardhani Dyah, Paramita. 2004. Proyek Akhir “Sistem Pakar Untuk Mendeteksi Stadium Penyakit Kanker”. Surabaya

4. Seto, Rahdian 2005. ProyekAkhir “Sistem Pakar Untuk Deteksi Penyakit Pada Daerah Mulut”. Surabaya.

5. Staf Pengajar Ilmu Kedokteran Anak. 1985. Buku Kuliah 3 : Ilmu Kesehatan Anak. Jakarta : Fakultas Kedokteran Universitas Indonesia.

6. Nurhadi, Tyasno. 2003. Pemrograman WML dan WMLS : Hadirkan Diri Anda di Mobile Internet.Yogyakarta : Andi.

7. ...........................2003. Panduan Praktis Pengembangan Program WAP .Yogyakarta : Andi dan Semarang : Wahana Komputer.

8. ............................Informasi Mengenai Sistem Pakar. www.iel.ipb. ac.id/agrinetmedia/modul/aplikasi/spdt/isi/infoSP.htm.

9. ............................SistemPakar.www.iel.ipb.ac.id/agrinetmedia/modul/aplikasi/servercabai/pakar.htm

10. ...........................WML Scripting Tips and Integration with PHP. www.developer.com.

Page 88: sistem pakar

LAMPIRAN

Page 89: sistem pakar

Tabel Penyakit Tree

Kode Penyakit Nama Penyakit A Bronkitis B Asma Episodik Jarang C Asma Episodik Sering D Asma Kronik/Persisten E Asma Episodik Berat dan Berulang F Asma Persisten pada Bayi G Asma Hipersekresi H Asma karena Beban Fisik I Asma dengan Alergen J Batuk Malam K Asma Buruk di Pagi Hari L Bronkopneumonia M Pneumonia Lobaris N Bronkiolitis Akut O Atelektasis P Atelektasis Masif Q Emfisema Obstruktif R Emfisema Bulosa S Pneumotoraks TO Empiema Torasis td tidak terdeteksi

Page 90: sistem pakar

Tabel Gejala Tree

No Gejala 1 batuk kering 2 batuk berdahak setelah 2-3 hari 3 suara ada lendir 4 dahak kental dan kuning 5 sesak napas 6 sakit retrostenal (sakit di belakang tulang dada) 7 mengi 8 serangan 3-4x setahun 9 gejala di malam hari 10 takikardia (nadi cepat) 11 tampak sakit berat 12 hay fever 13 suara napas berderak 14 usia <3 tahun 15 usia 3 - 6 tahun 16 usia 8 - 13 tahun 17 gangguan pertumbuhan 18 ISPA (Infeksi Saluran Napas Atas) 19 batuk disertai pilek 20 pernapasan dangkal dan cepat 21 anak menjadi gelisah 22 sianotik (kebiruan) 23 pernapasan cuping hidung (lewat mulut) 24 disertai penyakit lain : asma,bronkitis 25 terasa sakit setelah melakukan kegiatan fisik 26 nyeri di dada 27 terjadi 24 jam setelah operasi 28 ronki bash dan nyaring (ada suara di paru-paru)

29 krepitasi di daerah kulit (seperti ada udara di bawah kulit)

Page 91: sistem pakar

30 bersin 31 suhu badan naik 32 setelah terkena alergen 33 batuk malam saat jam 1-4 pagi 34 asma saat jam 1-4 pagi 35 kejang disertai demam 36 muntah disertai diare 37 badan menggigil

Page 92: sistem pakar

Listing program : • mcmpeny.php

<wml> <card id="satu" title="Jenis Penyakit"> <p> <do type="accept" label="Back"> <go href="infopeny.php"/> </do> <?php //koneksi ke database -- host, nama user, password mysql_connect("localhost","astrid","astrid"); //pilih database mysql_select_db("astrid"); $result = mysql_query("SELECT id_p,nama_peny FROM penyakit"); $jml=mysql_num_rows($result); printf("<b>Macam-macam penyakit: </b><br/>"); $no=1; $indeks=array(); while($no<$jml){ for ($i=0;$i<($jml);$i++) { //ambil data pada baris ke-i $row = mysql_fetch_array($result); //tampilkan printf("%d. %s<br/>",$no,$row["nama_peny"]); $id_p=$row["id_p"]; //printf(" %s<br/>",$id_p["id_p"]); $jwb=$no; $indeks[$jwb]=$id_p; $no+=1; } } print("<br/>"); ?> Pilihan Anda ? <input title="jawab" name="jwb1"/> <do type="accept" label="Choose"> <go href="lihatgej.php" method="post"> <postfield value="$jwb1" name="jwb1"/> <postfield value="<?echo($indeks[$jwb1]);?>" name="id_p"/> </go> </do> </p> </card> </wml>

Page 93: sistem pakar

• konsul.php

<wml> <card title="Konsultasi"> <p align="center"> <?php if($awal==null){ $id="1"; $awal=1; } mysql_connect("localhost","astrid","astrid"); mysql_select_db("astrid"); $sql="SELECT gejala.gejala_peny FROM gejala WHERE gejala.id_g = (SELECT pertanyaan.tny_skrg FROM pertanyaan WHERE Kode=$id)"; $result=mysql_query($sql); $row = mysql_fetch_array($result); if($row!=null) { printf("Apakah anak Anda mengalami gejala <br/><b>%s?</b><br/>",$row["gejala_peny"]);

$sql="SELECT pertanyaan.tny_ya FROM pertanyaan WHERE Kode=$id"; $result=mysql_query($sql); $row = mysql_fetch_array($result); $id_ya=$row["tny_ya"]; $sql="SELECT pertanyaan.tny_tdk FROM pertanyaan WHERE Kode=$id"; $result=mysql_query($sql); $row = mysql_fetch_array($result); $id_tdk=$row["tny_tdk"]; ?> <do type="accept" label="Yes"> <go href="konsul.php" method="get"> <postfield value="<?echo($id_ya);?>"

name="id"/> <postfield value="<?echo($awal);?>"

name="awal"/> </go> </do> <do type="accept" label="No"> <go href="konsul.php" method="get">

Page 94: sistem pakar

<postfield value="<?echo($id_tdk);?>" name="id"/>

<postfield value="<?echo($awal);?>" name="awal"/>

</go> </do> <? }else{ $sql="select nama_peny from penyakit where id_p='$id'"; $result=mysql_query($sql); $row = mysql_fetch_array($result); printf("Hasil diagnosa :<br/>"); printf("<b>Penyakit%s</b><br/>",$row["nama_peny"]); ?> <do type="accept" label="Home"> <go href="infotny.php" method="get"> </go> </do> <? } ?> </p> </card> </wml>

• addgp22.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Tambah Gejala"> <p> <do type="accept" label="Back"> <go href="addgp2.php"/> </do> <do type="accept" label="Result"> <go href="hasilgp2.php" method="get"> <postfield name="id_p" value="<?echo($id_p);?>"/> <postfield name="id_g" value="<?echo($id_g);?>"/> <postfield name="nama_peny" value="$nama_peny"/>

Page 95: sistem pakar

<postfield value="$gejala_peny" name="gejala_peny"/> </go> </do> <? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); //tambah ke tabel gejala $sql="INSERT INTO gejala (id_g,gejala_peny) VALUES ('$id_g','$gejala_peny')"; $result=mysql_query($sql); //tambah ke tabel gejala_penyakit $sql="INSERT INTO gejala_penyakit (id_g,id_p) VALUES ('$id_g','$id_p')"; $result=mysql_query($sql); if($result){ printf("Anda berhasil menambah !"); } else{ printf("Anda gagal menambah!"); } ?> </p> </card> </wml>

• insert.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Tambah Gejala"> <p> <do type="accept" label="Back"> <go href="addgp.php"/> </do> <do type="accept" label="Result"> <go href="hasilgp.php" method="post"> <postfield value="$id_g" name="id_g"/> <postfield value="<?echo($id_p);?>" name="id_p"/> </go>

Page 96: sistem pakar

</do> <? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); $sql="INSERT INTO gejala (id_g,gejala_peny) VALUES ('$id_g','$gejala_peny')"; $result=mysql_query($sql); $sql="INSERT INTO gejala_penyakit (id_g,id_p) VALUES ('$id_g','$id_p')"; $result=mysql_query($sql); settype($insert,"integer"); $sblm=$insert-1; $stlh=$insert+1; //proses update $sql="select * from pertanyaan "; $result=mysql_query($sql); $jum=mysql_num_rows($result); $a=$insert-1; for($i=$jum;$i>=$insert;$i--) { $kod=$i; $sql="select * from pertanyaan where Kode=$kod"; $result=mysql_query($sql); $row=mysql_fetch_row($result); $nol=$row[0]; $nol+=1; $satu=$row[1]; settype($satu,"integer"); if($satu>=$a) { $satu+=1; } $tiga=$row[3]; if(strcmp($ya=$tiga{0},"P")!=0){ (settype($tiga,"integer")); if($tiga<=$insert){ $ya=$tiga;} else{ $ya=$tiga+1;}

Page 97: sistem pakar

(settype($ya,"string"));} else $ya=$tiga; $empat=$row[4]; if(strcmp($tdk=$empat{0},"P")!=0){ (settype($empat,"integer")); if($empat<=$insert){ $tdk=$empat;} else{ $tdk=$empat+1;} (settype($tdk,"string"));} else $tdk=$empat; $sql="UPDATE pertanyaan SET Kode=$nol,tny_sblm=$satu,tny_ya='$ya',tny_tdk='$tdk' where Kode =$kod"; $result=mysql_query($sql); } //sql insertnya ke tabel pertanyaan $sql="INSERT INTO pertanyaan (Kode,tny_sblm,tny_skrg,tny_ya,tny_tdk) VALUES ($insert,$sblm,'$id_g',$stlh,'Ptd')"; $result=mysql_query($sql); //update nilai bawah $sql="select * from pertanyaan where Kode< $insert "; $result=mysql_query($sql); $jum=mysql_num_rows($result); for($p=0;$p<=$jum;$p++){ $kod1=$p; $sql="select * from pertanyaan where Kode=$kod1"; $result=mysql_query($sql); $row=mysql_fetch_row($result); $tiga2=$row[3]; if(strcmp($ya2=$tiga2{0},"P")!=0){ (settype($tiga2,"integer")); if($tiga2<=$insert){ $ya2=$tiga2;} else{ $ya2=$tiga2+1;} (settype($ya2,"string"));} else

Page 98: sistem pakar

$ya2=$tiga2; $empat2=$row[4]; if(strcmp($tdk2=$empat2{0},"P")!=0){ (settype($empat2,"integer")); if($empat2<=$insert){ $tdk2=$empat2;} else{ $tdk2=$empat2+1;} (settype($tdk2,"string"));} else $tdk2=$empat2; $sql="UPDATE pertanyaan SET tny_ya='$ya2',tny_tdk='$tdk2' where Kode =$kod1"; $result=mysql_query($sql); } if($result){ printf("Anda berhasil menambah !");} else{ printf("Anda gagal menambah!");} ?> </p> </card> </wml>

• addp.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Insert Penyakit"> <p> <do type="accept" label="Back"> <go href="admintp1.php"/> </do> <do type="accept" label="Result"> <go href="hasilp2.php" method="get"> <postfield name="id_p" value="<?echo($id_p);?>"/> <postfield name="nama_peny" value="$nama_peny"/> </go> </do>

Page 99: sistem pakar

<? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); $sql="INSERT INTO penyakit (id_p,nama_peny) VALUES ('$id_p','$nama_peny')"; $result=mysql_query($sql); if($result){ printf("Anda berhasil menambah !");} else{ printf("Anda gagal menambah!");} ?> </p> </card> </wml>

• addgp221.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Tambah Gejala"> <p> <do type="accept" label="Back"> <go href="addgp2.php"/> </do> <do type="accept" label="Result"> <go href="hasilgp2.php" method="get"> <postfield name="id_p" value="<?echo($id_p);?>"/> <postfield name="id_g" value="<?echo($id_g);?>"/> <postfield name="nama_peny" value="$nama_peny"/> <postfield value="$gejala_peny" name="gejala_peny"/> </go> </do> <? $file=$PHP_SELF; include("db.inc");

Page 100: sistem pakar

mysql_connect($host,$user,$pass); mysql_select_db($database); //tambah ke tabel gejala $sql="INSERT INTO gejala (id_g,gejala_peny) VALUES ('$id_g','$gejala_peny')"; $result=mysql_query($sql); //tambah ke tabel gejala_penyakit $sql="INSERT INTO gejala_penyakit (id_g,id_p) VALUES ('$id_g','$id_p')"; $result=mysql_query($sql); if($result){ printf("Anda berhasil menambah !");} else{ printf("Anda gagal menambah!");} //nambah di tabel pertanyaan $sql="select * from pertanyaan"; $result=mysql_query($sql); $jum=mysql_num_rows($result); $a=$jum+1; sql="UPDATE pertanyaan SET tny_tdk='$a' Where Kode=52"; $result=mysql_query($sql); if($result){ printf("berhasil UPDATE");} else{ printf("gagal!");} printf("<br/>"); $sql="INSERT INTO pertanyaan (Kode,tny_sblm,tny_skrg,tny_ya,tny_tdk) VALUES ('$a','52','$id_g','$id_p','Ptd')"; $result=mysql_query($sql); if($result){ printf("berhasil pertanyaan");} else{ printf("gagal!");} printf("<br/>"); ?> </p> </card> </wml>

Page 101: sistem pakar

• delg2.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Hapus Gejala"> <p> <do type="accept" label="Back"> <go href="delg.php"/> </do> <do type="accept" label="Result"> <go href="hasilg.php"/> </do> <? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); $sql="DELETE FROM gejala WHERE id_g='$del'"; $result=mysql_query($sql); $sql="DELETE FROM gejala_penyakit WHERE id_g='$del'"; $result=mysql_query($sql); //proses update $sql="select * from pertanyaan "; $result=mysql_query($sql); $jum=mysql_num_rows($result); $x=$jum; for($i=0;$i<$jum;$i++){ $kod=$i; $sql="select * from pertanyaan where Kode=$kod"; $result=mysql_query($sql); $row=mysql_fetch_row($result); if($row[2]==$del){ $x=$row[0]; $sql="delete from pertanyaan where Kode=$x "; $result=mysql_query($sql); $sql="UPDATE pertanyaan SET Kode=Kode-1 where Kode > $x"; $result=mysql_query($sql);

Page 102: sistem pakar

for($j=$x;$j<$jum;$j++){ $sql="select * from pertanyaan where Kode=$j"; $result=mysql_query($sql); $row=mysql_fetch_row($result); $satu=$row[1]; settype($satu,"integer"); if($satu>=$x){ $satu=$satu-1;} $tiga=$row[3]; if(strcmp($ya=$tiga{0},"P")!=0){ (settype($tiga,"integer")); if($tiga<$x){ $ya=$tiga;} else{ $ya=$tiga-1;} settype($ya,"string"));} else $ya=$tiga; $empat=$row[4]; if(strcmp($tdk=$empat{0},"P")!=0){ (settype($empat,"integer")); if($empat<$x){ $tdk=$empat;} else{ $tdk=$empat-1;} (settype($tdk,"string"));} else $tdk=$empat; $sql="UPDATE pertanyaan SET tny_sblm=$satu,tny_ya='$ya',tny_tdk='$tdk' where Kode = $j"; $result=mysql_query($sql); } } } if($result){ printf("Anda berhasil menghapus !");} else{ printf("Anda gagal menghapus!");} ?>

Page 103: sistem pakar

</p> </card> </wml>

• delp2.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Delete Penyakit"> <p> <do type="accept" label="Back"> <go href="delp.php"/> </do> <do type="accept" label="Result"> <go href="hasilp.php"/> </do> <? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); //hapus di tabel penyakit $sql="DELETE FROM penyakit WHERE id_p='$id_p'"; $result=mysql_query($sql); //hapus di tabel gejala penyakit $sql="DELETE FROM gejala_penyakit WHERE id_p='$id_p'"; $result=mysql_query($sql); //tabel pertanyaan $sql="select * FROM pertanyaan WHERE tny_ya='$id_p' OR tny_tdk='$id_p'"; $result=mysql_query($sql); $row=mysql_fetch_row($result); $tiga=$row[3]; if($tiga==$id_p){ $tiga="Ptd";} $empat=$row[4]; if($empat==$id_p) $empat="Ptd";

Page 104: sistem pakar

$sql="UPDATE pertanyaan SET tny_ya='$tiga',tny_tdk='$empat' WHERE tny_ya='$id_p' OR tny_tdk='$id_p'"; $result=mysql_query($sql); if($result){ printf("Anda berhasil menghapus !");} else{ printf("Anda gagal menghapus!");} ?> </p> </card> </wml>

• upgej3.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Update Gejala"> <p> <do type="accept" label="Back"> <go href="upgej2.php"/> </do> <do type="accept" label="Result"> <go href="upgej4.php"/> </do> <? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); $sql="UPDATE gejala SET gejala_peny='$gejala_peny' WHERE id_g='$id_g'"; $result=mysql_query($sql); if($result){ printf("<b>Anda berhasil meng-update !</b>");} else{ printf("<b>Anda gagal meng-update!</b>");} ?>

Page 105: sistem pakar

</p> </card> </wml>

• uppeny3.php <?php header("Content-type: text/vnd.wap.wml"); echo("<?xml version=\"1.0\"?>"); echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">"); ?> <wml> <card id="satu" title="Update Penyakit"> <p> <do type="accept" label="Back"> <go href="uppeny2.php"/> </do> <do type="accept" label="Result"> <go href="uppeny4.php"/> </do> <? $file=$PHP_SELF; include("db.inc"); mysql_connect($host,$user,$pass); mysql_select_db($database); $sql="UPDATE penyakit SET nama_peny='$nama_peny' WHERE id_p='$id_p'"; $result=mysql_query($sql); if($result){ printf("<b>Anda berhasil meng-update !</b>");} else{ printf("<b>Anda gagal meng-update!</b>");} ?> </p> </card> </wml>

Page 106: sistem pakar

BIODATA PENYUSUN

Nama :Deasy Astrid Natalia NRP :7403.030.037 Tempat/ Tanggal Lahir :Surabaya, 28 Desember 1985 Alamat :Jagir Sidoresmo 6- 43 Surabaya 60244 E-mail :[email protected] Riwayat Pendidikan :

a. TK Dahlia Surabaya (1991) b. SDK. RA.Kartini Surabaya (1991-1997) c. SLTPK.St.Yosef Surabaya (1997-2000) d. SMUN 5 Surabaya (2000-2003) e. PENS-ITS jurusan D3 Teknologi Informasi

(2003-2006)

Telah berhasil mengikuti Seminar Proyek Akhir pada bulan Februari 2006 dan Sidang Proyek Akhir pada 2 Agustus 2006.