PENGEMBANGAN SISTEM PAKAR UNTUK MEMPREDIKSI KELAS KEMAMPUAN LAHAN PERTANIAN Sativandi Putra, Arief Andy Soebroto, Issa Arwani Program Studi Teknik Informatika Universitas Brawijaya, Malang 65145, Email:
[email protected],
[email protected],
[email protected] ABSTRAK Sistem Pakar Kelas Kemampuan Lahan Pertanian adalah perangkat lunak yang dapat digunakan untuk membantu dalam memprediksi delapan macam kelas kemampuan lahan pertanian melalui berbagai macam faktor pembatas lahan dan kriteria lahan serta memberikan keterangan tentang perlunya mengambil tindakan atau rekomendasi lahan yang lebih baik. Sistem pakar dibangun berdasarkan basis pengetahuan dan mesin inferensi. Basis pengetahuan direpresentasikan oleh dua elemen dasar yaitu fakta dan aturan. Basis pengetahuan menggunakan data hasil pertimbangan pakar. Mesin inferensi pada sistem pakar yang dibuat menggunakan metode penalaran Forward Chaining. Perangkat lunak yang dibuat dikembangkan dengan bahasa pemrograman PHP berbasis Framework Codeigniter dan mengadopsi pola arsitektur Model-ViewController. Sistem Pakar Kelas Kemampuan Lahan Pertanian dikembangkan dengan metode Component-Based Software Engineering. Fungsi-fungsi sistem ini diuji menggunakan white-box testing, black-box testing, dan pengujian akurasi. Prediksi kelas kemampuan lahan pertanian dibandingkan dengan prediksi kelas kemampuan lahan pertanian oleh seorang pakar. Hasil perbandingan ini merepresentasikan keakuratan prediksi sistem pakar. Keakuratan prediksi kelas kemampuan lahan pertanian mencapai 100%. Kata Kunci: Sistem Pakar, Kelas Kemampuan Lahan Pertanian, Model-View-Controller, Component-Based Software Engineering.
I. PENDAHULUAN Penentuan kelas kemampuan suatu lahan membutuhkan seorang pakar atau ahli di bidang pertanian untuk memberikan solusi dalam pengambilan tindakan perbaikan atau rekomendasi lahan yang lebih baik. Keterbatasan yang dimiliki seorang pakar atau ahli terkadang menjadi kendala dalam penentuan kelas kemampuan lahan. Sistem pakar dihadirkan sebagai alternatif kedua dalam memecahkan permasalahan setelah seorang expert. Sistem pakar merupakan bidang teknik kecerdasan buatan yang paling luas penerapannya. Dengan sistem pakar, keahlian seorang pakar dapat diaplikasikan ke komputer sehingga pemakai dapat berinteraksi dengan komputer sama seperti dengan pakar. Implementasi sistem pakar dalam bentuk perangkat lunak dapat dipergunakan untuk membantu penentuan kelas kemampuan suatu lahan. Sistem pakar dapat digunakan sebagai penunjang pengambilan keputusan dalam menyelesaikan suatu masalah. Skripsi ini menjelaskan tentang sistem pakar yang digunakan untuk memprediksi kelas kemampuan lahan. Sistem pakar ini dibuat dengan pendamping oleh seorang ahli atau pakar di bidang pertanian dari Universitas Brawijaya. Sistem pakar yang dibuat digunakan untuk membantu dalam memprediksi 8 macam kelas kemampuan lahan melalui berbagai faktor pembatas dan kriteria. Kelas dan kriteria telah ditetapkan serta
memberikan keterangan tentang perlunya mengambil tindakan atau rekomendasi lahan yang lebih baik. Sistem pakar ini dibangun berdasarkan basis pengetahuan dan mesin inferensi. Basis pengetahuan direpresentasikan oleh dua elemen dasar yaitu fakta dan aturan. Basis pengetahuan menggunakan data hasil pertimbangan pakar. Fakta merupakan informasi tentang objek dalam suatu permasalahan tertentu yaitu kelas kemampuan lahan, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru. Mesin inferensi pada sistem pakar ini menggunakan metode penalaran forward chaining. Metode ini dipergunakan karena sangat baik jika bekerja dengan permasalahan yang dimulai dari rekaman informasi awal dan ingin dicapai penyelesaian akhir [1]. Data digunakan untuk menentukan aturan mana yang akan dijalankan pada metode ini. Aplikasi yang digunakan dalam pengerjaan skripsi ini adalah CodeIgniter. CodeIgniter adalah aplikasi open source berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP [8]. Pemilihan Framework CodeIgniter didasarkan pada mudah dan cepatnya pembangunan sebuah aplikasi web. Agar pembahasan masalah ini dapat dilakukan secara terarah, maka batasan masalahnya adalah : 1. Sistem pakar ini memprediksi delapan macam
9
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
kelas kemampuan lahan sehingga dapat diketahui kriteria lahan dan pengambilan tindakan perbaikan atau rekomendasi lahan yang lebih baik. 2. Prediksi hanya berdasarkan faktor pembatas dan kriteria yang telah ditetapkan dan diteliti pada lahan. 3. Metode inferensi yang digunakan pada sistem pakar ini adalah forward chaining. Pembuatan aplikasi berbasis web menggunakan Framework CodeIgniter dan implementasi basis data MySQL. 2. TINJAUAN PUSTAKA 2.7 Sistem Pakar Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer agar dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli [5]. Sistem pakar yang baik dirancang agar dapat menyelelasikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Ada beberapa definisi tentang sistem pakar, antara lain : 1. Turban (2001) “Sistem pakar adalah sebuah sistem yang menggunakan pengetahuan manusia di mana pengetahuan tersebut dimasukkan ke dalam sebuah komputer dan kemudian digunakan untuk menyelesaikan masalah-masalah yang biasanya membutuhkan kepakaran atau keahlian manusia” [9]. 2. Jacson (1999) “Sistem pakar adalah program komputer yang mempresentasikan dan melakukan penalaran dengan pengetahuan beberapa pakar untuk memecahkan masalah atau memberikan saran” [9]. Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Pengetahuan yang disimpan di komputer disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan, yaitu : fakta dan prosedur (biasanya berupa aturan) [2]. 2.8 Kelas Kemampuan Lahan Penentuan kelas kemampuan suatu lahan digunakan sebagai dasar dalam pengambilan tindakan perbaikan atau rekomendasi lahan yang lebih baik dan sustainable. Dengan melihat sistem pertanian di Indonesia yang mulai mengabaikan kesehatan lingkungan, maka tindakan pengkelasan kemampuan lahan yang mengarah pada tindakan perbaikan perlu dilakukan sedini mungkin [11]. Menentukan kelas kemampuan lahan bertujuan untuk mengelompokan lahan yang dapat diusahakan bagi pertanian (arable land) berdasarkan potensi dan pembatasnya agar dapat berproduksi secara berkesinambungan [4]. Kelas kemampuan lahan menurut USDA (United State Departement of
Agriculture) dibedakan atas delapan kelas kemampuan lahan [4]. 2.9 Component-Based Software Engineering Component-Based Software Engineering adalah metode rekayasa perangkat lunak yang menekankan perancangan dan pembangunan perangkat lunak dengan menggunakan komponen software yang sudah ada. CBSE memiliki dua bagian utama dalam alur software process yang berjalan secara paralel, yaitu Domain Engineering dan Component-Based Development [3]. 2.10 Framework Codeigniter CodeIgniter (CI) adalah salah satu framework php yang tangguh dan popular yang awalnya ditulis oleh mas Rick Ellis, pendiri dan CEO EllisLab.com, perusahaan yang mengembangkan codeigniter. Codeigniter saat ini dikembangkan oleh komunitas dan disebarkan ke seluruh dunia dengan lisensi bebas. Code Igniter adalah sebuah framework php. Framework adalah suatu kerangka kerja yang berupa sekumpulan folder yang memuat file-file php yang menyediakan class libraries, helpers, plugins dan lainnya. Framework menyediakan konfigurasi dan teknik coding tertentu [7]. 2.11 Unified Modelling Language Unified Modelling Language (UML) merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram teks-teks pendukung. UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikkan, menggambarkan, membangun, dan mendokumentasikan dari sistem perangkat lunak [6].
3. METODOLOGI PENELITIAN 3.4 Analisis Kebutuhan Proses analisis kebutuhan mengimplementasikan gambaran umum Sistem Pakar Kelas Kemampuan Lahan Pertanian dan hasil pengumpulan, pemahaman dan penetapan kebutuhan-kebutuhan yang ingin didapatkan oleh pengguna. Proses analisis kebutuhan ini diawali dengan penjabaran gambaran umum Sistem Pakar Kelas Kemampuan Lahan Pertanian, identifikasi aktor yang terlibat, analisis data yang akan disimpan, penjabaran tentang daftar kebutuhan dan kemudian memodelkannya ke dalam diagram use case. Analisis kebutuhan ini bertujuan untuk menggambarkan kebutuhan-kebutuhan yang harus disediakan oleh sistem agar dapat memenuhi kebutuhan pengguna. Use Case Diagram Sistem Pakar Kelas Kemampuan Lahan Pertanian terbagi menjadi 2 buah subsistem, yaitu subsistem administrator dan subsistem client. Tiap use case dalam Use Case
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
Diagram tersebut juga akan dijelaskan lebih rinci dalam use case skenario. Gambar 2. menggambarkan diagram use case aplikasi client dan Gambar 3. menggambarkan use case aplikasi administrator.
Input
Proses Dalam Sistem Pakar Kelas Kemampuan Lahan Pertanian
Output
Gambar 5. Diagram Blok Sistem
3.5 Perancangan Perancangan sistem perangkat lunak dilakukan setelah semua kebutuhan sistem perangkat lunak didapatkan melalui tahap analisis kebutuhan. Perancangan sistem perangkat lunak berdasarkan Object Oriented Analysis dan Object Oriented Design yaitu menggunakan pemodelan UML (Unified Modeling Language). Perancangan sistem perangkat lunak dibagi menjadi dua bagian, yaitu perancangan umum dan perancangan khusus. Perancangan umum memiliki enam tahap, yaitu perancangan arsitektural, perancangan basis data, pemodelan diagram class untuk menggambarkan perancangan struktur class-class yang menyusun perangkat lunak, pemodelan diagram sequence untuk menggambarkan interaksi antar objek atau class di dalam Sistem Pakar Kelas Kemampuan Lahan Pertanian, perancangan algoritma, dan perancangan antarmuka pengguna dari Sistem Pakar Kelas Kemampuan Lahan Pertanian. id_drainase 1
username
mempunyai
1
password
id_erosi
Admin
id_lereng
1
Level
keterangan
1
keterangan Erosi
mempunyai
1
1
mempunyai
1
keterangan
Bahan Kasar Dalam Tanah
keterangan 1
Tekstur Tanah
mempunyai
1
id_batuan_di_permukaan_tanah 1
id_kedalaman_efektif tanah
mempunyai
id_bahan_kasar_dalam_tanah 1
Lereng
id_tekstur_tanah
keterangan Drainase
mempunyai
1
keterangan
Batuan di Permukaan Tanah
keterangan
Kedalaman Efektif Tanah
1
mempunyai
1
id_ancaman_banjir 1
mempunyai
1
keterangan
Ancaman Banjir
Diagram blok sistem pakar menjelaskan mekanisme pembentukan sistem pakar, yang terdiri dari 6 komponen utama, yaitu pengguna, user interface, inference engine, knowledge base, fasilitas penjelasan, dan pakar seperti pada Gambar 6. Dataset
Pengguna
User Interface
Inference Engine
Knowledge Base
Fasilitas Penjelas
Pakar
Gambar 5. Diagram Blok Sistem Pakar
3.6 Implementasi Implementasi aplikasi dilakukan dengan mengacu kepada perancangan aplikasi. Implementasi Sistem Pakar Kelas Kemampuan Lahan Pertanian dilakukan dengan menggunakan bahasa pemrograman berorientasi objek yaitu menggunakan implementasi database MySQL dengan software XAMPP 1.7.4 dan bahasa pemrograman Codeigniter pada PHP. Perangakat lunak Sistem Pakar Kelas Kemampuan Lahan Pertanian dibagi menjadi dua subsistem, yaitu subsistem aplikasi client dan subsistem aplikasi administrator. Aplikasi client terdiri dari halaman Login, Daftar Akun, Tes Lahan, Histori, Bantuan, dan Logout. Gambar 7. menunjukan tampilan halaman Tes Lahan aplikasi client.
Id_kriteria kriteria Kriteria 1 id_lereng mempunyai id_batuan_di_permukaan_tanah
id_erosi
n
id_drainase
Rule
id_tekstur_tanah
id_bahan_kasar_dalam_tanah
id_kedalaman_efektif tanah
id_ancaman_banjir
Gambar 4. Diagram Entity Relationship Perangkat Lunak Sistem Pakar Kelas Kemampuan Lahan Pertanian
Perancangan khusus dalam skripsi ini meliputi perancangan sistem secara keseluruhan, berupa diagram blok sistem dan diagram blok sistem pakar. Diagram blok sistem secara keseluruhan terdiri dari 3 komponen utama, yaitu input, proses dalam sistem pakar, dan output sperti pada Gambar 5. Gambar 7. Halaman Tes Lahan Aplikasi Client
Aplikasi administrator terdiri dari halaman Login,
11
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
Kelola Aturan, Tambah Aturan, Kelola Kriteria, Tambah Kriteria, Kelola Histori, Kelola Pengguna, Tambah Pengguna, dan Logout. Gambar 8. menunjukan tampilan halaman Kelola Aturan aplikasi administrator.
5. Gambar 9. menunjukkan hasil tampilan Halaman Login dari Sistem Pakar Kelas Kemampuan Lahan Pertanian.
Gambar 9. Tampilan Halaman Login
Gambar 8. Halaman Kelola Aturan Aplikasi Administrator
3.7 Pengujian dan Analisis Pengujian perangkat lunak dilakukan untuk mengetahui kesesuaian analisa kebutuhan yang dibuat dengan implementasi aplikasi. Analisis sistem dilakukan dengan membandingkan sistem aplikasi yang dengan teori yang ada sehingga didapatkan suatu kesimpulan. Proses pengujian dilakukan melalui empat tahap pengujian yaitu pengujian unit, pengujian integrasi, pengujian validasi, dan pengujian akurasi. Strategi pengujian perangkat lunak yang akan digunakan yaitu pengujian unit (unit testing), pengujian integrasi (integration testing), dan pengujian validasi (validation testing). Metode pengujian yang akan digunakan adalah white-box testing dan black-box testing. Proses pengujian perangkat lunak dimulai dari pengujian unit, kemudian dilanjutkan dengan pengujian integrasi, dan berakhir pada pengujian validasi. Pada tahap pengujian unit dan integrasi digunakan metode white-box testing dengan teknik basis path. Kemudian pada tahap pengujian validasi digunakan metode black-box testing. Pengujian untuk sistem pakar menggunakan teknik pengujian akurasi. Proses pengujian akurasi dilakukan untuk mengetahui performa atau keakuratan dari sistem pakar untuk memprediksi kelas kemampuan lahan pertanian.
Proses pengujian perangkat lunak yang dikembangkan melalui empat tahap, yaitu pengujian unit, pengujian integasi, pengujian validasi, dan pengujian akurasi. Pada pengujian unit dan pengujian integrasi digunakan teknik pengujian White-Box (White-Box Testing). Pada pengujian validasi digunakan teknik pengujian Black-Box (Black-Box Testing). Proses analisis dilakukan untuk mengetahui performa dari Sistem Pakar Kelas Kemampuan Lahan Pertanian, yaitu dengan pengujian akurasi sistem pakar. 4.7 Pengujian Unit Pengujian unit dilakukan dengan mengambil objek pengujian class Operasi dan class – class entity. Dalam makalah ini hanya akan disebutkan beberapa pengujian unit, yaitu pengujian unit untuk Algoritma Login() pada class csispak:ci_controller dan Algoritma DaftarAkun() pada class csispak:ci_controller. Jumlah kompleksitas siklomatis Algoritma Login() adalah 3 kompleksitas siklomatis. Gambar 10. menunjukkan proses pengujian pada Algoritma Login(). Gambar 11. menggambarkan flow graph dari algoritma tersebut.
4. HASIL DAN PEMBAHASAN Pada bagian ini akan dibahas mengenai proses pengujian dan analisis dari Sistem Pakar Kelas Kemampuan Lahan Pertanian yang telah dikembangkan. Tahapan pengujian dilakukan pada laptop atau notebook Toshiba Satelite L305 dan mengunakan perangkat lunak Mozilla Firefox 3.6 Beta
Gambar 10. Pengujian Unit Untuk Algoritma Login()
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
Jumlah kompleksitas siklomatis Algoritma DaftarAkun() adalah 2 kompleksitas siklomatis. Gambar 12. menunjukkan proses pengujian pada Algoritma DaftarAkun(). Gambar 13. menggambarkan flow graph dari algoritma tersebut.
1 2
5
3
6
4 7
E=8 N=7
Gambar 11. Flow Graph Algoritma Login()
Pemodelan ke dalam flow graph yang telah dilakukan terhadap algoritma Login() menghasilkan jumlah kompleksitas siklomatis (cyclomatic complexity) melalui persamaan V(G) = E – N + 2, dimana V(G) merupakan jumlah kompleksitas siklomatis, E merupakan sisi atau edge (garis penghubung antar node) dan N merupakan jumlah simpul (node). V(G) = E – N + 2 =7–6+2 =3 Berdasarkan dari nilai cyclomatic complexity yang telah didapatkan dari perhitungan maka ditentukan tiga buah basis set dari jalur independent, yaitu : Jalur 1 : 1 – 2 – 3 – 4 – 7 Jalur 2 : 1 – 2 – 5 – 7 Jalur 3 : 1 – 2 – 6 – 7 Penentuan kasus uji untuk jalur independent tersebut dan hasil eksekusinya dijelaskan pada Tabel 1. Tabel 1. Kasus Uji Untuk Pengujian Unit Algoritma Login() Jalur
1
2
3
Kasus Uji Memberi nilai atribut username dan password dengan data admin yang sudah ada di database, kemudian mengeksekusi method login(). Memberi nilai atribut username dan password dengan data user yang sudah ada di database, kemudian mengeksekusi method login(). Memberi nilai atribut username dan password dengan data yang berbeda atau kosong dengan yang ada di database, kemudian mengeksekusi method login()
Hasil yang diharapkan
Hasil yang didapatkan
Method memberikan nilai kembalian variabel session dengan nilai admin.
Method memberikan nilai kembalian variabel session dengan nilai admin.
Method memberikan nilai kembalian variabel session dengan nilai user.
Method memberikan nilai kembalian variabel session dengan nilai user.
Method akan menampilkan pesan “Gagal Login, Password atau Username Salah!”.
Method akan menampilkan pesan “Gagal Login, Password atau Username Salah!”.
Gambar 12. Pengujian Unit Untuk Algoritma DaftarAkun() 1 2 3
4 5
E=5 N=5
Gambar 13. Flow Graph Algoritma DaftarAkun()
Pemodelan ke dalam flow graph yang telah dilakukan terhadap algoritma DaftarAkun() menghasilkan jumlah kompleksitas siklomatis (cyclomatic complexity) melalui persamaan V(G) = E – N + 2, dimana V(G) merupakan jumlah kompleksitas siklomatis, E merupakan sisi atau edge (garis penghubung antar node) dan N merupakan jumlah simpul (node). V(G) = E – N + 2 =5–5+2 =2 Berdasarkan dari nilai cyclomatic complexity yang telah didapatkan dari perhitungan maka ditentukan dua buah basis set dari jalur independent, yaitu : Jalur 1 : 1 – 2 – 3 – 5 Jalur 2 : 1 – 2 – 4 – 5 Penentuan kasus uji untuk jalur independent tersebut dan hasil eksekusinya dijelaskan pada Tabel 2.
Tabel 2. Kasus Uji Untuk Pengujian Unit
13
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
Algoritma DaftarAkun() Jalur
1
2
Kasus Uji Memberi nilai atribut username, password, dan level, kemudian mengeksekusi method prosestambah() Nilai atribut username, password, dan level kosong, kemudian mengeksekusi method prosestambah()
Hasil yang diharapkan Method akan menampilkan pesan “Insert Sukses!” dan data pengguna di database akan bertambah. Method akan menampilkan pesan “Insert Gagal!” dan data pengguna di database tidak bertambah.
1
Hasil yang didapatkan
2
Method menampilkan pesan “Insert Sukses!” dan data pengguna di database bertambah.
Method menampilkan pesan “Insert Gagal!”..
4.8 Pengujian Integrasi Pengujian integrasi diterapkan pada proses yang mengintegrasikan fungsionalitas dari beberapa class untuk melakukan sebuah operasi tertentu. Pengujian integrasi yang akan dilakukan dalam makalah ini hanya dibahas beberapa algoritma tertentu, yaitu pengujian integrasi untuk Algoritma TesLahan() pada class csispak:ci_controller dan Algoritma UbahAturan() pada class cadmin:ci_controller. Jumlah kompleksitas siklomatis Algoritma TesLahan() adalah 2 kompleksitas siklomatis. Gambar 14. menunjukkan proses pengujian pada Algoritma TesLahan(). Gambar 15. menggambarkan flow graph dari algoritma tersebut.
3 4 5
E=5 N=5
Gambar 15. Flow Graph Algoritma TesLahan()
Pemodelan ke dalam flow graph yang telah dilakukan terhadap algoritma TesLahan() menghasilkan jumlah kompleksitas siklomatis (cyclomatic complexity) melalui persamaan V(G) = E – N + 2, dimana V(G) merupakan jumlah kompleksitas siklomatis, E merupakan sisi atau edge (garis penghubung antar node) dan N merupakan jumlah simpul (node). V(G) = E – N + 2 =5–5+2 =2 Berdasarkan dari nilai cyclomatic complexity yang telah didapatkan dari perhitungan maka ditentukan dua buah basis set dari jalur independent, yaitu : Jalur 1 : 1 – 2 – 3 – 4 – 5 Jalur 2 : 1 – 2 – 4 – 5 Penentuan kasus uji untuk jalur independent tersebut dan hasil eksekusinya dijelaskan pada Tabel 4. Tabel 3. Kasus Uji Untuk Pengujian Integrasi Algoritma Teslahan()
Gambar 14. Pengujian Integrasi Untuk Algoritma TesLahan()
Jalur
Kasus Uji
1
Jika nilai variabel iterasi masih memenuhi syarat perulangan (looping).
2
Jika nilai variabel iterasi tidak memenuhi syarat perulangan (looping).
Hasil yang diharapkan Data kriteria kelas kemampuan lahan pertanian akan ditampilkan pada halaman Tes Lahan. Data kriteria kelas kemampuan lahan pertanian tidak akan ditampilkan pada halaman Tes Lahan.
Hasil yang didapatkan Data kriteria kelas kemampuan lahan pertanian ditampilkan pada halaman Tes Lahan. Data kriteria kelas kemampuan lahan pertanian tidak ditampilkan pada halaman Tes Lahan.
Jumlah kompleksitas siklomatis Algoritma UbahAturan() adalah 3 kompleksitas siklomatis. Gambar 16. menunjukkan proses pengujian pada Algoritma UbahAturan(). Gambar 17. menggambarkan flow graph dari algoritma tersebut.
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
Tabel 4. Kasus Uji Untuk Pengujian Integrasi Algoritma UbahAturan() Jalur
Kasus Uji
1
Jika proses ubah aturan dengan nilai id_rule tertentu berhasil.
2
Jika proses ubah aturan dengan nilai id_rule tertentu tidak berhasil.
3
Jika nilai variabel session tidak bernilai admin.
Gambar 16. Pengujian Integrasi Untuk Algoritma UbahAturan()
Hasil yang diharapkan Data aturan pada tabel rule di database berhasil diubah dan method akan menampilkan pesan “Berhasil”. Data aturan pada tabel rule di database tidak berhasil diubah dan method akan menampilkan pesan “Gagal”.
Hasil yang didapatkan Data aturan pada tabel rule di database berhasil diubah dan method akan menampilkan pesan “Berhasil”. Data aturan pada tabel rule di database tidak berhasil diubah dan method akan menampilkan pesan “Gagal”.
Pengguna tidak dapat mengakses halaman Ubah Aturan.
Pengguna tidak dapat mengakses halaman Ubah Aturan.
4.9 Pengujian Validasi Pengujian validasi dilakukan dengan objek uji spesfifikasi kebutuhan fungsional dari Sistem Pakar Kelas Kemampuan Lahan Pertanian. Pengujian validasi dilakukan dengan teknik Black Box Testing.
1 2
3
Tabel 5. Kasus Uji Untuk Pengujian Validasi 4
5
6 7
E=8 N=7
Gambar 17. Flow Graph Algoritma UbahAturan()
Pemodelan ke dalam flow graph yang telah dilakukan terhadap algoritma UbahAturan() menghasilkan jumlah kompleksitas siklomatis (cyclomatic complexity) melalui persamaan V(G) = E – N + 2, dimana V(G) merupakan jumlah kompleksitas siklomatis, E merupakan sisi atau edge (garis penghubung antar node) dan N merupakan jumlah simpul (node). V(G) = E – N + 2 =8–7+2 =3
No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Berdasarkan dari nilai cyclomatic complexity yang telah didapatkan dari perhitungan maka ditentukan tiga buah basis set dari jalur independent, yaitu : Jalur 1 : 1 – 2 – 3 – 4 – 7 Jalur 2 : 1 – 2 – 3 – 5 – 6 – 7 Jalur 3 : 1 – 7
15 16 17 18
Penentuan kasus uji untuk jalur independent tersebut dan hasil eksekusinya dijelaskan pada Tabel 5.
19 20 21
Nama Kasus Uji Kasus Uji Validasi Login User Sah Kasus Uji Validasi Login User Tidak Sah Kasus Uji Validasi Daftar Akun Kasus Uji Validasi Tes Lahan Kasus Uji Validasi Histori User Kasus Uji Validasi Logout User Kasus Uji Validasi Login Admin Sah Kasus Uji Validasi Login Admin Tidak Sah Kasus Uji Validasi Mengelola Data Pengguna Kasus Uji Validasi Mengelola Data Kriteria Kasus Uji Validasi Mengelola Data Ancaman Banjir Kasus Uji Validasi Mengelola Data Bahan Kasar Dalam Tanah Kasus Uji Validasi Mengelola Data Batuan Di Permukaan Tanah Kasus Uji Validasi Mengelola Data Drainase Kasus Uji Validasi Mengelola Data Erosi Kasus Uji Validasi Mengelola Data Kedalaman Efektif Tanah Kasus Uji Validasi Mengelola Data Lereng Kasus Uji Validasi Mengelola Data Tekstur Tanah Kasus Uji Validasi Mengelola Data Aturan Kasus Uji Validasi Mengelola Data Histori Kasus Uji Validasi Logout Admin
Status Validitas Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid
15
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
4.10 Pengujian Akurasi Proses pengujian akurasi pada Sistem Pakar Kelas Kemampuan Lahan Pertanian menggunakan data uji berjumlah 60 data. Prosedur pengujiannya adalah memasukkan data ciri kriteria tiap-tiap lahan ke sistem pakar, kemudian menghasilkan hasil prediksi kelas kemampuan lahan pertanian. Hasil prediksi kelas kemampuan lahan pertanian tersebut kemudian dicocokkan kesesuaiannya dengan hasil prediksi Dosen Ilmu Tanah Jurusan Pertanian Universitas Brawijaya, Sativandi Riza, SP. Perhitungan untuk pengujian accuracy sebagai berikut [10]: 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑁𝑐 𝑁
Keterangan : Nc : Number of correct predictions (P) N : Number of predictions Berdasarkan data yang diperoleh dari Dosen Ilmu Tanah Jurusan Pertanian Universitas Brawijaya, Sativandi Riza, SP., didapatkan perhitungan: Accuracy
Accuracy
= Nc x 100% N = 60 x 100% 60 = 100%
Dapat disimpulkan bahwa akurasi dari Sistem Pakar Kelas Kemampuan Lahan Pertanian berdasarkan 60 data yang diuji adalah 100%. Hasil pengujian akurasi ditunjukkan pada Lampiran 1. 4.11 Analisis Hasil Pengujian Unit Proses analisis terhadap hasil pengujian unit dilakukan dengan melihat kesesuaian fungsi dari implementasi unit modul yang diuji dengan hasil perancangan perangkat lunak yang telah dirancang sebelumnya. Berdasarkan hal tersebut, maka dapat diambil kesimpulan bahwa unit modul dari program sudah memenuhi kebutuhan fungsional yang telah dirancang pada tahap perancangan. 4.12 Analisis Hasil Pengujian Integrasi Proses analisis terhadap hasil pengujian integrasi dilakukan dengan melihat kesesuaian beberapa unit modul yang menyusun satu blok fungsi dalam Sistem Pakar Kelas Kemampuan Lahan Pertanian. Berdasarkan hal tersebut, maka dapat diambil kesimpulan bahwa integrasi dari beberapa unit modul dari program sudah memenuhi kebutuhan fungsional yang telah dirancang pada tahap perancangan. 4.13 Analisis Hasil Pengujian Validasi Proses analisis terhadap hasil pengujian validasi dilakukan dengan melihat konformitas antara hasil kinerja sistem dengan daftar kebutuhan. Berdasarkan hasil pengujian validasi dapat disimpulkan bahwa
implementasi dan fungsionalitas Sistem Pakar Kelas Kemampuan Lahan Pertanian telah memenuhi kebutuhan yang telah dijabarkan pada tahap analisis kebutuhan. 4.14 Analisis Hasil Pengujian Akuruasi Proses analisis terhadap hasil pengujian akurasi dilakukan dengan menggunakan data uji berjumlah 60 data. Berdasarkan data yang diperoleh dari Dosen Ilmu Tanah Jurusan Pertanian Universitas Brawijaya, Sativandi Riza, SP., didapatkan perhitungan: Accuracy = Nc x 100% N = 60 x 100% 60 Accuracy = 100% Dapat disimpulkan bahwa akurasi dari Sistem Pakar Kelas Kemampuan Lahan Pertanian berdasarkan 60 data yang diuji adalah 100%. Hal ini dikarenakan dalam rule based reasoning proses pembelajaran sistem ditentukan oleh kombinasi aturan kriteria yang didapatkan dari representasi pengetahuan pakar, sehingga kesalahan sistem dalam memprediksi kelas kemampuan lahan pertanian murrni ditentukan oleh faktor kesalahan dari pengguna, baik admin maupun user. 5. SIMPULAN Berdasarkan hasil perancangan, implementasi dan pengujian yang dilakukan, maka diambil kesimpulan sebagai berikut: 1. Implementasi Sistem Pakar Kelas Kemampuan Lahan Pertanian sesuai dengan perancangan yang telah dibuat. 2. Pengujian unit, integrasi, dan validasi yang telah dilakukan pada sistem ini menghasilkan hasil yang valid. 3. Analisis Sistem Pakar Kelas Kemampuan Lahan Pertanian berdasarkan pengujian akurasi yang dilakukan dengan 60 data kelas kemampuan lahan pertanian dari pakar dan menghasilkan akurasi sebesar 100%. Saran yang dapat diberikan untuk pengembangan Sistem Pakar Kelas Kemampuan Lahan Pertanian ini adalah: 1. Perlu adanya peningkatan pengembangan dalam aplikasi, sehingga aplikasi yang digunakan dapat lebih bervariasi. 2. Perlu adanya penyempurnaan tampilan aplikasi sehingga lebih menarik lagi. 3. Aplikasi pada tugas akhir ini sebaiknya dapat digunakan tidak hanya pada sistem pakar kelas kemampuan lahan pertanian, tetapi bisa digunakan pengembangan sistem pakar kelas kemampuan lahan untuk keperluan lainnya, misalkan untuk lahan pertambangan.
Pengembangan Sistem Pakar Untuk Memprediksi Kelas Kemampuan Lahan Pertanian
6. DAFTAR PUSTAKA [1] [2] [3]
[4]
Andi. 2009. Pengembangan Sistem Pakar Menggunakan Visual Basic. Andi Offset. Fadli, Ari. 2010. Sistem Pakar Dasar. IlmuKomputer. Pressman, Roger S. 2001. Software Engineering: A Practitioner’s Approach, Fifth Edition. McGraw Hill. Rayes, M. Luthfi. 2007. Metode Inventarisasi Sumber Daya Lahan. Yogyakarta: Andi Offset.
[5]
[6]
Rohman, F., F. 2008. “Rancang Bangun Aplikasi Sistem Pakar untuk Menentukan Jenis Gangguan Perkembangan pada Anak”, Media Informatika, Vol. 6, No. 1, Hal. 1-23. Akses dari http://journal.uii.ac.id/index.php/mediainformatika/article/viewFile/106/66. Tanggal akses: 7 Maret 2012. A. S., Rosa & Shalahudin, M. 2011. Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung: Modula.
17