Jurnal Teknik Informatika, Vol 1 Sepetember 2012
Sistem Pakar Diagnosa Penyakit Ginjal Menggunakan Metode Hill Climbing
Suci Oktaviana1,, Satria Perdana Arifin, S.T, M.T.I2, Ibnu Surya, S.T3 1 Teknik Informatika 2 Sistem Informasi Industri 3 Teknik Informatika Politeknik Caltex Riau Jl. Umbansari 1 Rumbai, Pekanbaru 28265 – Riau. Telp: 0761-53939, Fax: 0761-554224 www.pcr.ac.id
Abstrak Ginjal adalah salah satu organ penting pada tubuh manusia dalam sistem ekskresi. Jika ginjal tidak berfungsi dengan baik, maka badan tidak berupaya menolak air, garam, dan bahan lain secukupnya yang dapat mengakibatkan kematian kecuali jika pengobatan secara analisa dilakukan. Untuk itu diperlukan suatu sistem pakar yang digunakan untuk mendiagnosa awal dari penyakit ginjal sehingga membantu pemakai dalam mengidentifikasi permasalahan kesehatan. Sistem pakar dapat menirukan langkahlangkah yang dilakukan seorang pakar untuk memecahkan masalah berdasarkan pengetahuan masalah yang dimilikinya. Proses identifikasi yang dilakukan melalui interaksi tanya-jawab antara sistem dengan pemakai. Aturan pada basis pengetahuan menggunakan metode penalaran forward chaining dan metode penelusuran Hill Climbing, memanfaatkan database MySQL serta bahasa pemrograman PHP. Berdasarkan hasil analisa kuisioner dengan persentase sebesar 89,3% diperoleh bahwa sistem ini dapat memberikan data dan informasi yang bermanfaat bagi pasien. Kata Kunci: Ginjal, Sistem Pakar, Forward Chaining, Hill Climbing.
Abstract Kidney is one of the important organs of the human body in the excretion system. If the kidneys are not functioning properly, the body does not attempt to resist water, salt, and other ingredients to taste that can result in death unless treatment is performed analysis. It required an expert system that is used to diagnose the onset of kidney disease so as to help users in identifying health problems. Expert systems can mimic the steps taken an expert to solve the problem based on the knowledge they have. The identification process is done through a question and answer interaction between the user's system. The rules to the knowledge base using forward chaining reasoning and Hill Climbing search method, using the MySQL database and the PHP programming language. Based on the analysis of the questionnaire with a percentage of 89.3% was obtained that the system can provide data and information to benefit patients. Keywords: Kidney, Expert System, Forward Chaining, Hill Climbing.
1. Pendahuluan Sistem pakar merupakan sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar biasanya digunakan untuk melakukan interpretasi dan analisa, diagnosa, dan membantu pengambilan keputusan. Salah satu implementasi sistem pakar pada bidang kesehatan yaitu untuk melakukan diagnosa awal pada penyakit ginjal. Penyakit ginjal adalah penyakit yang memang harus dikenali dan diwaspadai sejak dini oleh setiap orang. Ginjal yang merupakan salah satu bagian dari sistem eksresi sangat penting bagi keberlangsungan kesehatan manusia. Ginjal adalah organ penting dalam tubuh yang menjalankan fungsi penting dalam tubuh sebagai alat filtrasi, yaitu mengeluarkan kelebihan garam, air, dan asam. Dengan demikian diperlukan kemampuan analisa yang akurat dalam menentukan diagnosa keadaan ginjal seseorang. Namun dengan kemudahan adanya dokter ahli, terkadang terdapat pula kelemahannya seperti jam kerja (praktek) terbatas dan banyaknya pasien sehingga harus menunggu antrian. Dikarenakan permasalahan tersebut, sehingga mendorong pembangunan sebuah sistem pakar diagnosa penyakit ginjal untuk diwujudkan. Oleh karena itu, dalam proyek akhir ini dibangun aplikasi sistem pakar diagnosa penyakit
2
Suci Oktaviana
ginjal. Ada beberapa metode penulusuran heuristik yang digunakan untuk sistem pakar seperti generate and test, hill climbing, best first search, dan simulated annealing. Metode penulusuran sistem pakar yang digunakan pada proyek akhir ini adalah Hill Climbing. Proses pengujian Hill Climbing dilakukan dengan menggunakan fungsi heuristik yang menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin. Adapun tujuan dari proyek akhir ini adalah: 1. Membangun aplikasi sistem pakar berbasis web sebagai alat bantu untuk mendiagnosa penyakit ginjal. 2. Memberikan informasi penyakit berdasarkan gejala-gejala awal dari penyakit ginjal. Perumusan masalah dalam membuat proyek akhir ini yaitu: 1. Bagaimana merancang suatu sistem pakar yang dapat digunakan untuk mendiagnosa jenis penyakit ginjal berdasarkan gejala yang dirasakan user menggunakan metode forward chaining dan metode penulusuran Hill Climbing. 2. Bagaimana mendapatkan data-data tentang penyakit ginjal yang sesuai dengan ilmu kedokteran. Ruang lingkup masalah dalam proyek akhir ini adalah: 1. Data-data penunjang penyakit ginjal digunakan yaitu hanya penyakit ginjal dengan kategori penyakit Glomerulonefropati (peradangan ginjal), yakni syndrome nefritik dan syndrome nefrotik. Melakukan konsultasi dengan dr. H. Jazil Karimi, Sp.PD yang praktek di RSUD Arifin Achmad Pekanbaru dan dr. Arles, Sp.PD yang praktek di RS Awal Bros Pekanbaru. 2. Hasil diagnosa jenis penyakit memiliki bobot yang didapat dari pengetahuan dokter ahli (spesialis penyakit dalam). 3. Pembangunan sistem pakar menggunakan metode penalaran maju (forward chaining) dan metode penulusuran Hill Climbing. 4. Nilai bobot bersifat statis (tidak bisa di ubah). 5. Aplikasi ini digunakan oleh admin dan user (pengguna). 6. Penyimpanan data-data penunjang menggunakan database MySQL. 7. Bahasa pemrograman yang digunakan adalah PHP. 8. Output yang dihasilkan dari aplikasi ini adalah diagnosa awal penyakit ginjal beserta hasil pembobotan yang digunakan sebagai besarnya penyakit yang diderita user. Manfaat dari sistem pakar untuk diagnosa penyakit ini adalah: 1. Masyarakat dapat menggunakan sistem ini untuk mengetahui jenis penyakit ginjal secara lebih cepat dan tepat. 2. Masyarakat dapat melakukan diagnosa sendiri penyakit ginjal berdasarkan gejala-gejala awal yang di rasakan oleh user.
2. Tinjauan Pustaka 2.1 Sistem Pakar Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk menyelesaikan masalah seperti layaknya seorang pakar. Keahlian dipindahkan dari pakar ke suatu komputer. Pengetahuan ini kemudian disimpan di dalam komputer. Pada saat pengguna menjalankan komputer untuk mendapatkan informasi, maka sistem pakar akan menanyakan fakta-fakta dan dapat membuat penalaran (inferensi) sehingga sampai pada suatu kesimpulan. Kemudian, sistem pakar memberikan penjelasan dan kesimpulan atas hasil konsultasi yang telah dilakukan sebelumnya (Turban, E., 2005). 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 dibidangnya. Sistem pakar ini juga dapat membantu aktivitas para pakar sebagai asisten yang mempunyai pengetahuan yang dibutuhkan.
2.2 Metode Inferensi Metode inferensi merupakan suatu cara penarikan kesimpulan yang dilakukan oleh mesin inferensi untuk menyelesaikan masalah. Ada dua metode inferensi yang penting dalam sistem pakar, yaitu runut maju (forward chaining) dan runut balik (backward chaining).
3
1.
Forward Chaining Forward Chaining adalah suatu strategi pengambilan keputusan yang dimulai dari bagian premis (fakta) menuju konklusi (kesimpulan akhir) (Kusrini, 2006). Metode inferensi ini yang akan digunakan dalam sistem pakar yang akan dibangun dengan contoh penalaran sebagai berikut : If Nyeri pinggang And sulit buang air kecil And urine berwarna gelap And produksi urine sedikit Then Sindroma Nefritik
Gambar 2.2 Skema Forward Chaining Dalam proyek akhir ini menggunakan metode penalaran forward chaining (Runut Maju). Karena pada teknik ini, pendekatan penalaran dimulai dari sekumpulan data yang berupa gejala penyakit yang diderita menuju kesimpulan akhir, sehingga memudahkan untuk melakukan konsep sistem kecerdasan buatan ini.
2.3 Pencarian Heuristik (Heuristic Searching) Pencarian buta tidak selalu dapat diterapkan dengan baik, hal ini disebabkan waktu aksesnya yang cukup lama serta besarnya memori yang diperlukan. Kelemahan ini sebenarnya dapat diatasi jika ada informasi tambahan dari domain yang bersangkutan (Kusumadewi, 2003). Istilah heuristic berasal dari bahasa Yunani yang berarti menemukan. Heuristic merupakan suatu strategi untuk melakukan proses pencarian (search) ruang problema secara selektif, yang memandu proses pencarian yang kita lakukan disepanjang jalur yang memiliki kemungkinan hasil paling maksimal. Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness). Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan, disebut fungsi heuristic. Fungsi heuristik digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan. Jenis-jenis Heuristic Searching: 1. Generate and Test. 2. Hill Climbing. 3. Best First Search. 4. Alpha Beta Prunning, Means-End-Analysis, Constraint Satisfaction, Simulated Annealing.
2.4 Hill Climbing Metode Hill Climbing Search adalah salah satu metode pencarian dalam menentukan diagnosa penyakit yang singkat dengan memperkecil jumlah keadaan yang disinggahinya tanpa harus mengecek pada node sesudahnya. Metode Hill Climbing merupakan variasi dari metode DFS. Dengan metode ini, eksplorasi terhadap keputusan dilakukan dengan cara DFS dengan mencari path yang bertujuan menurunkan cost untuk menuju kepada goal/kesimpulan. Dalam prosedur Hill Climbing, fungsi uji dikombinasikan dengan fungsi heuristik. Dimana fungsi heuristik disini menggunakan ukuran keyakinan dari pasien (user) untuk menentukan diagnosa awal penyakitnya atau tes yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan (estimasi) yang diambil terhadap keadaan-keadaan lainnya yang mungkin. Cara kerjanya adalah menentukan langkah berikutnya dengan menempatkan node yang akan muncul sedekat mungkin dengan sasarannya dengan menggunakan fungsi heuristic, yaitu berupa bobot yang didapat dari dokter ahli pada gejala dengan angka presentase dari 1 hingga 100. Algoritma Hill Climbing : 1. Mulai dari keadaan awal, lakukan pengujian. Jika merupakan tujuan, maka berhenti. Dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
4
2. a. b. i. ii.
c.
Suci Oktaviana
Lakukan hingga tujuan tercapai. Tentukan tujuan berdasarkan nilai heuristic terbaik dari node-node yang ada. Lakukan untuk tiap node yang digunakan oleh keadaan sekarang. Gunakan node tersebut dan bentuk keadaan baru. Evaluasi keadaan baru tersebut. Jika merupakan tujuan (hasil), keluar. Jika tidak, bandingkan dengan nilai heuristik dengan node lainnya. Jika lebih baik, jadikan nilai heuristik keadaan baru sebagai tujuan. Jika tujuan lebih baik daripada nilai heuristik keadaan sekarang, ubah tujuan menjadi keadaan sekarang.
Gambar 2.4 Contoh Tree untuk Hill Climbing
Lintasan yang didapat : S – B – C – E – Z Keuntungan dari algoritma Hill Climbing ini ialah: 1. Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. 2. Metode hill climbing search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruangan keadaan.
3. Perancangan 3.1 Perancangan Sitemap 1.
Sitemap digunakan untuk mempermudah dalam pengenalan jalannya website. Sitemap Admin Proses kegiatan admin ditunjukkan pada sitemap dibawah ini.
Gambar 3.1 Sitemap Admin
5
Pada sitemap admin, admin harus melakukan login terlebih dahulu. Setelah proses otentikasi berhasil terdapat beberapa menu utama yang ada pada halaman utama admin, diantaranya menu daftar gejala dimana pada menu tersebut admin dapat melakukan tambah gejala dan ubah gejala. Kemudian pada menu daftar penyakit, admin juga dapat melakukan tambah penyakit dan ubah penyakit. Selain itu, pada menu daftar rule admin juga bisa melakukan tambah rule dan ubah rule. Kemudian pada menu terakhir admin juga dapat mengubah password nya pada menu ubah password. 2.
Sitemap Pasien Adapun proses kegiatan pasien ditunjukkan pada sitemap berikut.
Gambar 3.2 Sitemap pasien Pada sitemap pasien, pasien juga harus melakukan login terlebih dahulu untuk dapat masuk pada halaman utama pengguna. Setelah berhasil login, pasien(pengguna) dapat melakukan kegiatan yang terdapat pada menu diagnosa, rekam medis, data pasien, dan keterangan. 3.
Sitemap Guest Proses kegiatan guest dapat dilihat pada gambar berikut.
Gambar 3.3 Sitemap guest
3.2 Flowchart Flowchart atau diagram alur digunakan untuk menggambarkan alur suatu program menjadi lebih sederhana sehingga program tersebut dapat lebih dimengerti. Pada aplikasi ini terdapat beberapa flowchart, yaitu : 1. Flowchart Administrator
Gambar 3.4 Flowchart Admin
6
2.
Suci Oktaviana
Flowchart Pasien
Gambar 3.5 Flowchart Pasien
3.3 Perancangan ERD jenis_kelamin alamat nama pekerjaan
username
password username
password
tanggal pasien
admin
1 id_history history child
parent
tanggal kd_gejala
M penyakit
M
rule
M
gejala nama_gejala
kd_penyakit
id_rule
nama_penyakit
jawaban bobot
Gambar 3.6 ERD
3.4 Perancangan Tabel 1.
Tabel – tabel yang terbentuk berdasarkan ERD diatas adalah : Tabel Pasien Tabel user akan berisi daftar pengguna yang dapat menggunakan sistem ini. Tabel 3.1 Pasien Nama Tipe Data Keterangan
username*
Char(10)
password
Varchar(20)
nama jenis_kelamin alamat pekerjaan tanggal
Varchar(40) Varchar(20) Varchar(100) Varchar(20) Varchar(100)
Kode User Kata kunci user untuk dapat login. Nama pasien Jenis kelamin pasien Alamat pasien Pekerjaan pasien Tanggal hari ini
7
2.
Tabel Admin Tabel admin akan berisi data admin untuk login sehingga dapat meng-update data yang ada didalam sistem. Tabel 3.2 Admin Nama Tipe Data Keterangan
username*
Char(10)
Kode User
password
Varchar(20)
Kata kunci user untuk dapat login.
3.
Tabel Penyakit Tabel penyakit berisi kd penyakit dan nama penyakit. Kd penyakit digunakan sebagai primary key untuk memberi tanda yang unik kepada setiap penyakit. Tabel 3.3 Penyakit Nama Tipe Data Keterangan kd_penyakit* nama_penyakit
4.
Kode Penyakit Nama penyakit
Tabel Gejala Tabel penyakit berisi kd gejala dan nama gejala. Kd gejala digunakan sebagai primary key untuk memberi tanda yang unik kepada setiap gejala. Tabel 3.4 Gejala Nama Tipe Data Keterangan
kd_gejala* nama_gejala 5.
int(10) Varchar(20)
int(10)
Kode gejala
Varchar(100)
Nama gejala
Tabel History Tabel history hasil berisi history dari pasien yang melakukan diagnosa. Tabel 3.5 History Nama Tipe Data Keterangan
id_history* username**
int(11) Varchar(20)
Kode history Nama pasien
kd_penyakit**
Varchar(10)
Nama penyakit
tanggal
Varchar(40)
Tanggal diagnosa
6.
Tabel Rule Terdapat relasi antar tabel gejala dan tabel penyakit, sehingga ditambahkan satu tabel relasi dengan nama tabel rule. Tabel 3.6 Rule Nama Tipe Data Keterangan
id_rule*
int(10)
Kode Rule
int(20)
Nama gejala
jawaban
int(20)
Jawaban Ya atau Tidak
child**
Int(20)
Nama Gejala
parent**
8
Suci Oktaviana
kd_penyakit** bobot
int(20) Varchar(20)
Nama penyakit Bobot gejala untuk penyakit
4. Pengujian dan Analisa 4.1 Tampilan Awal Website
Gambar 4.1 Tampilan awal Pada gambar 4.1 merupakan tampilan awal dari aplikasi. Pada halaman awal aplikasi user (guest) dapat daftar terlebih dahulu, kemudian login sebagai member.
Gambar 4.2 Petunjuk Diagnosa
Gambar 4.3 Halaman Diagnosa Pada gambar 4.2 diatas ialah halaman petunjuk untuk mulai melakukan diagnose. Sedangkan Gambar 4.3 di atas merupakan halaman untuk melakukan diagnosa.
9
4.2 Analisa Pada pengujian pengguna ini dilakukan dengan cara pengisian kuesioner yang berisi kan 5 pernyataan terhadap 15 reponden. Pernyataan yang akan diberikan yaitu terdiri dari 2 jenis yaitu : dari segi Interaksi Manusia Komputer (IMK) dan dari segi sistem diagnosis penyakit. Setiap pertanyaan diberi poin yaitu dengan oin nilai 1 sampai 5 dengan keterangan sebagai berikut. Poin 1 = Buruk (B) Poin 2 = Kurang Baik (KB) Poin 3 = Cukup Baik (CB) Poin 4 = Baik (B) Poin 5 = Sangat Baik (SB) 1. Kuisioner Untuk Pengguna Kuisioner untuk pengguna, disediakan 5 pertanyaan tentang memudahkan dalam mendiagnosa penyakit ginjal khususnya syndrome nefritik dan syndrome nefrotik, kenyamanan dalam pemakaian aplikasi, sistem berjalan dengan baik sesuai dengan fungsi-fungsinya, sistem memberikan data dan informasi yang bermanfaat bagi pasien, sistem mudah digunakan. Hasil kuisioner adalah sebagai berikut : Tabel 4.1 Rekapitulasi hasil kuesioner kepada pengguna sistem Jumlah Responden 15 pengguna NO
Evaluasi
Sangat Baik
Baik
Cukup
Kurang
Sangat Kurang
1
Memudahkan dalam mendiagnosa penyakit ginjal khususnya syndrome nefritik dan syndrome nefrotik
8
4
3
0
0
2
Kenyamanan dalam pemakaian aplikasi
6
7
2
0
0
3
Sistem berjalan dengan baik sesuai dengan fungsi-fungsinya
6
6
3
0
0
4
Sistem memberikan data dan informasi yang bermanfaat bagi pasien
9
4
2
0
0
5
Sistem mudah digunakan
9
3
3
0
0
Dari hasil perhitungan analisa kuisioner, maka dapat diketahui nilai dari setiap pernyataan seperti dibawah ini : Tabel 4.2 Tabel nilai analisa diagnosa penyakit ginjal dengan responden dokter ahli Pernyataan
1
2
3
4
5
Skor
1. Memudahkan dalam mendiagnosa penyakit ginjal khususnya syndrome nefritik dan syndrome nefrotik.
0
0
3
4
8
86,7%
2. Kenyamanan dalam pemakaian aplikasi
0
0
2
7
6
85,3%
3. Sistem berjalan dengan baik sesuai dengan fungsi-fungsinya
0
0
3
6
6
84%
4. Sistem memberikan data dan informasi yang bermanfaat bagi pasien
0
0
2
4
9
89,3%
5. Sistem mudah digunakan
0
0
3
3
9
88%
10
Suci Oktaviana
Dari nilai yang didapat dengan menggunakan metode skala likert tersebut, maka dapat dianalisa bahwa : 1. Memudahkan dalam mendiagnosa penyakit ginjal khususnya syndrome nefritik dan syndrome nefrotik dengan Sangat Baik. 2. Kenyamanan dalam pemakaian dengan Sangat Baik. 3. Sistem berjalan dengan baik sesuai fungsi-fungsinya dengan Sangat Baik. 4. Sistem Memberikan data dan Informasi dan informasi yang bermanfaat bagi pasien dengan Sangat Baik. 5. Sistem mudah digunakan dengan Sangat Baik.
5. Kesimpulan dan Saran 5.1 Kesimpulan Setelah melakukan analisa, perancangan, implementasi dan evaluasi sistem pakar untuk mendiagnosa ginjal, dapat disimpulkan bahwa: 1. Sistem pakar diagnosa penyakit ginjal yang berdasarkan pembobotan dari dokter spesialis penyakit dalam berhasil untuk mendiagnosa ginjal menggunakan metode Hill Climbing. 2. Hasil diagnosa pada aplikasi diagnosa dini penyakit ginjal sesuai dengan tree pada sistem. 3. Berdasarkan hasil pengujian kuisioner yang dilakukan terhadap responden, didapat bahwa sistem dapat memberikan data dan informasi yang bermanfaat bagi pasien dengan persentase sebesar 89,3%. 5.2 Saran Beberapa saran yang dapat diberikan untuk pengembangan aplikasi ini diantaranya: 1. Memperluas ruang lingkup pendeteksian terhadap jenis penyakit lainnya yang ada pada ginjal agar sistem dapat mendiagnosa jenis penyakit yang lebih bervariasi. 2. Untuk kedepannya, sistem ini dapat dikembangkan dengan fitur-fitur yang lebih menarik seperti cara mengenal tanda-tanda gejala pada tubuh pasien melalui video, dsb. VI. Daftar Pustaka [1] Aprilia Sulistyohati, Taufiq Hidayat (2008). Aplikasi Sistem Pakar Diagnosa Penyakit Ginjal Dengan Metode Dempster-Shafer. Diambil 24 Oktober 2011 pukul 2:50 WIB dari http://journal.uii.ac.id/index.php/Snati/article/viewFile/720/675 [2] Artanti, F.R. (2004). Perancangan dan Pembuatan Sistem Pakar Hama dan Pengendalian untuk Tanaman Hortikultura. Skripsi. Surabaya: Universitas Kristen Petra. [3] Hanifah. (1998). ”Exact: System Pakar sebagai Penasehat Perbaikan Perangkat Keras Komputer”. Yogyakarta. [4] Kusumadewi. (2003). Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Penerbit Graha Ilmu Yogyakarta. [5] Kusrini. (2006). Sistem Pakar Teori dan Aplikasi. Yogyakarta: Penerbit Andi Yogyakarta. [7] Medicastore. Media Informasi Obat dan Penyakit. Diambil 30 November 2011 pukul 22.30 WIB dari http://medicastore.com/penyakit/719/Sindroma_Nefrotik.html [8] Pengantar Inteligensia Buatan – Heuristic Searching. Teknik Pencarian Heuristik (Heuristic Searching). Diambil 26 Oktober 2011 pukul 14.26 WIB dari http://journal.mercubuana.ac.id/data/Heuristic-search.pdf [9] Turban, E. (2005). Decision Support System and Intelligent Systems. Yogyakarta: Penerbit Andi Yogyakarta. [10] Yuyun Yuliawati R. Pencarian Jarak Terpendek Menggunakan Metode Breadth First Search dan Metode Hill Climbing. Diambil 17 November 2011 pukul 18.50 WIB dari http://elib.unikom.ac.id/download.php?id=4505 [11] KECERDASAN BUATAN(ARTIFICIAL INTELLIGENCE). Diambil 04 Agustus 2012 pukul 00:18 WIB dari http://www.google.co.id/webhp?rlz=1C1CHMO_idID476ID476&sourceid=chromeinstant&ie=UTF8#q=hill+climbing+dan+depth+first+search&hl=id&rlz=1C1CHMO_idID476ID476&prmd=im vns&source=lnt&tbs=ctr:countryID&cr=countryID&sa=X&ei=ogkcUK6uH8XnrAfhIHYAQ&ved=0CE8QpwUoAQ&bav=on.2,or.r_gc.r_pw.r_qf.&fp=57d82a0705abf07a&biw=12 80&bih=699 [12] PEMBOBOTAN (WEIGHTING). Diambil 28 Agustus 2012 pukul 11.45 WIB dari http://lbprastdp.staff.ipb.ac.id/files/2011/12/10.-skoring.pdf