ANALISIS DAN IMPLEMENTASI ALGORITMA DEPTH FIRST SEARCH (DFS) PADA SISTEM PAKAR DIAGNOSIS PENYAKIT PARU SKRIPSI OLEH HELENA OLINDA SINAGA 051401020 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA 2009
ANALISIS DAN IMPLEMENTASI ALGORITMA DEPTH FIRST SEARCH (DFS) PADA SISTEM PAKAR DIAGNOSIS PENYAKIT PARU SKRIPSI Diajukan untuk melengkapi tugas guna memenuhi syarat mencapai gelar Sarjana Komputer HELENA OLINDA SINAGA 051401020 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009
PERSETUJUAN Judul : ANALISIS DAN IMPLEMENTASI ALGORITMA DEPTH FIRST SEARCH (DFS) PADA SISTEM PAKAR DIAGNOSIS PENYAKIT PARU Kategori : SKRIPSI Nama : HELENA OLINDA SINAGA Nomor Induk Mahasiswa : 051401020 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, 2009 Pembimbing 2 Pembimbing 1 Syahriol Sitorus,S.Si,MIT Drs. James P. Marbun,M.Kom NIP. 197103101997031004 NIP. 195806111986031002 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Prof. Dr. Muhammad Zarlis NIP 195707011986011003
PERNYATAAN ANALISIS DAN IMPLEMENTASI ALGORITMA DEPTH FIRST SEARCH (DFS) PADA SISTEM PAKAR DIAGNOSIS PENYAKIT PARU SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, September 2009 Helena Olinda Sinaga 051401020
PENGHARGAAN Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, atas berkat, rahmat dan karunia yang diberikan kepada penulis, sehingga penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan. Ucapan terima kasih penulis sampaikan kepada Bapak Drs. James P. Marbun, M.Kom selaku pembimbing pertama dan Bapak Syahriol Sitorus, S.Si, M.I.T selaku pembimbing kedua pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan skripsi ini. Ucapan terima kasih juga ditunjukkan kepada Ketua dan Sekeretaris Departemen Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, M.I.T, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, semua dosen pada Departemen Ilmu Komputer FMIPA USU, serta pegawai di FMIPA USU dan rekan-rekan kuliah. Akhirnya, tidak terlupakan kepada kedua orang tua tercinta, Alfian (abang tersayang), Renol dan Depo Lestari (adik-adik tersayang) yang selalu memberikan dukungan dan perhatiannya setiap hari, serta semua saudara-saudara terdekat yang selalu memberi semangat. Terimakasih juga kepada Roy Tobing yang selalu memberikan semangat dan dukungan kepada penulis, juga kepada teman-temanku tercinta Herina, Anne, Mondang, Kak Sorta (teman-teman semua yang tidak dapat disebutkan satu persatu) beserta seluruh keluarga yang selalu memberikan dukungan, dan tidak lupa kepada mahasiswa Ilmu Komputer FMIPA USU yang selalu memberikan masukan dan kritikan dan juga yang selalu menyemangati penulis agar segera menyelesaikan tugas akhir ini. Semoga Tuhan Yang Maha Esa akan membalasnya.
ABSTRAK Perkembangan teknologi banyak memberikan kemudahan dalam penyelesaian masalah. Sebagai contoh adalah dalam Inteligensia Buatan dimana bagian utamanya adalah pengetahuan. Hampir semua basis pengetahuan sangat terbatas, dalam arti terfokus pada masalah khusus. Pada saat basis pengetahuan sudah terbentuk, maka teknik artificial intelligence dapat digunakan untuk memberikan kemampuan baru bagi komputer agar dapat berfikir, menalar, dan membuat inferensi. Teknik pelacakan basis pengetahuan yang digunakan dalam skripsi ini adalah algoritma Depth First Search (DFS). Dalam skripsi ini algoritma tersebut akan dianalisis, dan diimplementasikan dalam sistem pakar. Implementasi algoritma menggunakan bahasa pemograman Borland Delphi versi 7.0 dengan database Mysql. Untuk hasil analisis disimpulkan bahwa dari segi kompleksitas waktu, algoritma ini cepat dalam pencarian solusi jika solusi berada pada level yang paling dalam dan sebelah kiri. Selain itu, algoritma DFS tidak complete dan tidak optimal. Dari segi kompleksitas ruang, algoritma DFS hanya membutuhkan memori yang sedikit.
ANALYSIS AND IMPLEMENTATION OF DEPTH FIRST SEARCH (DFS) ALGORITHM AT EXPERT SYSTEM OF DIAGNOSE THE LUNG DESEASE ABSTRACT Develoving of technology give the ease in problem solving. The priority of Artificial Intelligence is knowledge. Almost all of knowledge base is very restriced, it mean that focus in special problem. When the knowledge base have been made, then Artifisial Intelligence technique can give the new ability for computer in order that can think, reasoning, and make inference. Tracing technique of knowledge base which used is Depth First Search (DFS) algorithm. In this thesis this algorithm will be analysis and implemented in Expert System. Implementation of algorithm with Delphi 7.0 as programming languange and Mysql database. The result of analysis conclude that for time complexity this algorithm is fast to find solution, if the solution in deepest level and on the left. In other case, DFS algorithm neither complete nor optimal. For space complexity, DFS algorithm just need a little memory.
DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv v vi vii ix x Bab 1 Pendahuluan 1 1.1 Latar Belakang 2 1.2 Perumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 2 1.5 Metode Penelitian 3 1.6 Sistematika Penulisan 4 Bab 2 Landasan Teori 5 2.1 Kecerdasan Buatan 5 2.2 Sistem Pakar 6 2.2.1 Komponen Sistem Pakar 9 2.3 Teknik Pelacakan 11 2.3.1 Algoritma Depth First Search (DFS) 12 2.3.2 Algoritma Bread First Search (BFS) 14 2.3.3 Algoritma Best First Search 15 2.4 Penyakit Paru 16 Bab 3 Analisis dan Perancangan Perangkat Lunak 20 3.1 Analisis Algoritma Depth First Search (DFS) 20 3.1.1 Analisis Space Complexity 22 3.1.2 Analisis Time Complexity 24 3.1.3 Analisis Completeness 24 3.1.4 Analisis Optimality 24 3.2 Analisis Komponen Perangkat Lunak 25 3.2.1 Model Analisis 25 3.2.2 Spesifikasi Proses 27 3.2.3 Kamus Data 29 3.2.3.1 Kamus Data Tabel Pertanyaan 29
3.2.3.2 Kamus Data Tabel Solusi 29 3.2.3.3 Kamus Data Tabel Relasi 30 3.2.3.4 Kamus Data Pasien 30 Bab 4 Implementasi dan Pengujian Perangkat Lunak 31 4.1 Perancangan Antarmuka 31 4.2 Struktur Menu program 31 4.2.1 Perancangan Tampilan 32 4.3 Perancangan Basis Pengetahuan 38 4.4 Implementasi Perangkat Lunak 40 4.5 Pengujian Black Box (Black Box Testing) 46 4.5.1 Form Menu Utama 47 4.5.2 Form Diagnosis 47 4.5.3 Form Konsultasi 48 4.5.4 Form Hasil Diagnosis 49 4.5.5 Form Laporan 50 4.5.6 Form Login 51 4.5.7 Form Update Data Pertanyaan 52 4.5.8 Form Tambah Pertanyaan 53 4.5.9 Form Edit Pertanyaan 54 4.5.10 Form Hapus Pertanyaan 55 4.5.11 Form Upadate Data Jawaban 56 4.5.12 Form Tambah Jawaban 56 4.5.13 Form Edit jawaban 57 4.5.14 Form Hapus Jawaban 58 4.6 Hasil Pengujian Black Box 60 Bab 5 Kesimpulan dan Saran 63 5.1 Kesimpulan 63 5.2 Saran 63 Daftar Pustaka 64 Lampiran A: Listing Program 65
DAFTAR TABEL Halaman Tabel 3.1 Tabel Keterangan Proses Pelacakan 22 Tabel 3.2 Spesifikasi Proses Diagram Konteks Level 0 27 Tabel 3.3 Spesifikasi Proses Diagram Konteks Level 1 28 Tabel 3.4 Spesifikasi Proses Diagram Konteks Level 2 28 Tabel 3.5 Kamus Data Tabel Pertanyaan 29 Tabel 3.6 Kamus Data Tabel Solusi 30 Tabel 3.7 Kamus Data Tabel Relasi 30 Tabel 3.8 Kamus Data Pasien 30 Tabel 4.1 Tabel Hasil Pengujian Black Box 59
DAFTAR GAMBAR Halaman Gambar 2.1 Penerapan Konsep AI dalam Komputer 6 Gambar 2.2 Komponen Sistem Pakar 11 Gambar 2.3 Tree untuk Algoritma Depth First Search 13 Gambar 2.4 Tree untuk Algoritma Bread First Search 15 Gambar 2.5 Langkah Algoritma Best First Search 16 Gambar 3.1 Proses Pelacakan 21 Gambar 3.2 Perhitungan Jumlah Stack 23 Gambar 3.3 Diagram Konteks Level 0 25 Gambar 3.4 Diagram Konteks level 1 26 Gambar 3.5 Diagram Konteks level 2 26 Gambar 4.1 Struktur Tampilan Menu Program 31 Gambar 4.2 Rancangan Tampilan Menu Utama 32 Gambar 4.3 Rancangan Tampilan Registrasi 33 Gambar 4.4 Rancangan Tampilan Konsultasi 33 Gambar 4.5 Rancangan Tampilan Hasil Diagnosis 34 Gambar 4.6 Rancangan Tampilan Laporan 34 Gambar 4.7 Rancangan Tampilan Login Admin 35 Gambar 4.8 Rancangan Tampilan Update Data 35 Gambar 4.9 Rancangan Tampilan Tambah Data Pertanyaan 36 Gambar 4.10 Rancangan Tampilan Ubah Data Pertanyaan 36 Gambar 4.11 Rancangan Tampilan Hapus Data Pertanyaan 36 Gambar 4.12 Rancangan Tampilan Tambah Jawaban 37 Gambar 4.13 Rancangan Tampilan Edit Jawaban 37 Gambar 4.14 Rancangan Tampilan Hapus Jawaban 38 Gambar 4.15 Tampilan Menu Utama 40 Gambar 4.16 Tampilan Registrasi 41 Gambar 4.17 Tampilan Konsultasi 41 Gambar 4.18 Tampilan Hasil Diagnosa 42 Gambar 4.19 Tampilan Laporan 42 Gambar 4.20 Tampilan Login 43 Gambar 4.21 Tampilan Update Data 43 Gambar 4.22 Tampilan Tambah Pertanyaan 44 Gambar 4.23 Tampilan Edit Pertanyaan 44 Gambar 4.24 Tampilan Hapus Pertanyaan 45 Gambar 4.25 Tampilan Tambah Jawaban 45 Gambar 4.26 Tampilan Edit Jawaban 46 Gambar 4.27 Tampilan Hapus Jawaban 46 Gambar 4.28 Form Menu Utama Gambar 4.29 Form Registrasi yang muncul apabila menu Diagnosis diklik 47 48
Gambar 4.30 Pesan Error, apabila Tidak Mengisi Data Registrasi 48 Gambar 4.31 Form Konsultasi 48 Gambar 4.32 Pesan yang Muncul Apabila Tidak mengisi Jawaban 49 Gambar 4.33 Form Hasil Diagnosa 49 Gambar 4.34 Pesan yang Muncul Apabila tombol simpan diklik 50 Gambar 4.35 Form Laporan 50 Gambar 4.36 Form Detail Data 51 Gambar 4.37 Pesan yang Muncul Apabila tombol hapus diklik 51 Gambar 4.38 Form Login 51 Gambar 4.39 Pesan yang Muncul Apabila Salah Isi Data Login 52 Gambar 4.40 Form Update Data 52 Gambar 4.41 Form Update Data Apabila Menu Update Pertanyaan dipilih 53 Gambar 4.42 Form Update Pertanyaan 53 Gambar 4.43 Pesan yang Muncul Apabila Data Kurang Lengkap pada Form Tambah Pertanyaan 54 Gambar 4.44 Form Edit Pertanyaan 54 Gambar 4.45 Pesan yang Muncul Apabila Tombol Edit di klik pada Form Edit Pertanyaan 54 Gambar 4.46 Form Hapus Pertanyaan 55 Gambar 4.47 Pesan yang Muncul Apabila Tombol Hapus di klik pada Form Hapus Pertanyaan 55 Gambar 4.48 Pesan yang Muncul Apabila Tombol Yes di klik pada Form Hapus Pertanyaan 55 Gambar 4.49 Form Update Data Apabila Menu Update Jawaban dipilih 56 Gambar 4.50 Form Tambah Jawaban 56 Gambar 4.51 Pesan yang Muncul Apabila Data pada Form Tambah Pertanyaan yang Kurang Lengkap 57 Gambar 4.52 Pesan yang Muncul Apabila Data pada Form Tambah Pertanyaan yang Lengkap 57 Gambar 4.53 Form Edit Jawaban 57 Gambar 4.54 Pesan yang Muncul Apabila tombol Edit di klik pada Form Edit Jawaban Gambar 3.55 Pesan yang Muncul Apabila tombol Yes di klik pada Form Edit Jawaban 58 Gambar 4.56 Form Hapus Jawaban 58 Gambar 4.57 Pesan yang Muncul Apabila tombol Hapus di klik pada Form Hapus Jawaban 59 Gambar 4.58 Pesan yang Muncul Apabila tombol Yes di klik pada Form Hapus Jawaban 59